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”参数时,则不要数据。
postgres=# CREATE TABLE tpcds.store_returns
(
W_WAREHOUSE_SK INTEGER NOT NULL,
W_WAREHOUSE_ID CHAR(16) NOT NULL,
W_WAREHOUSE_SQ_FT INTEGER
);
--以tpcds.store_returns表为基表创建一个物化视图tpcds.store_returns_mv。
postgres=# CREATE MATERIALIZED VIEW tpcds.store_returns_mv AS SELECT * FROM tpcds.store_returns';
--使用tpcds.store_returns拷贝一个新表tpcds.store_returns_mv2作为一个物化视图。
postgres=# CREATE MATERIALIZED VIEW tpcds.store_returns_mv2 AS table tpcds.store_returns;
--删除物化视图。