CREATE MATERIALIZED VIEW

    注意事项

    • 物化视图不可以在临时表或全局临时表上创建。
    • 物化视图创建后,当基表数据发生变化时,需要使用刷新(REFRESH)命令保持物化视图与基表同步。

    参数说明

    • mv_name

      要创建的物化视图的名称(可以被模式限定)。

      取值范围:字符串,要符合标识符的命名规范。

    • WITH ( storage_parameter [= value] [, … ] )

      这个子句为表或索引指定一个可选的存储参数。所有CREATE TABLE支持的参数CREATE MATERIALIZED VIEW也支持,不过OIDS除外。详见CREATE TABLE

    • TABLESPACE tablespace_name

    • AS query

      一个SELECT、TABLE 或者VALUES命令。这个查询将在一个安全受限的操作中运行。

    • [ WITH [ NO ] DATA ]

      创建物化视图时,是否也插入查询到的数据。默认是要数据,选择“NO”参数时,则不要数据。

    1. postgres=# CREATE TABLE tpcds.store_returns
    2. (
    3. W_WAREHOUSE_SK INTEGER NOT NULL,
    4. W_WAREHOUSE_ID CHAR(16) NOT NULL,
    5. W_WAREHOUSE_SQ_FT INTEGER
    6. );
    7. --以tpcds.store_returns表为基表创建一个物化视图tpcds.store_returns_mv
    8. postgres=# CREATE MATERIALIZED VIEW tpcds.store_returns_mv AS SELECT * FROM tpcds.store_returns';
    9. --使用tpcds.store_returns拷贝一个新表tpcds.store_returns_mv2作为一个物化视图。
    10. postgres=# CREATE MATERIALIZED VIEW tpcds.store_returns_mv2 AS table tpcds.store_returns;
    11. --删除物化视图。

    相关链接