CREATE MATERIALIZED VIEW table_name [ (column_name [, ...] ) ] [ WITH ( storage_parameter [= value] [, ... ] ) ] [ TABLESPACE tablespace_name ] AS query [ WITH [ NO ] DATA ]
CREATE MATERIALIZED VIEW定义一个查询的物化视图。 在命令发出时,该查询被执行并且用于填充视图(除非使用了WITH NO DATA), 并且可以稍后使用REFRESH MATERIALIZED VIEW来刷新。
CREATE MATERIALIZED VIEW类似于CREATE TABLE AS, 除了它也使查询记住初始化视图,所以稍后需要时也可以被刷新。 物化视图和表一样有许多属性,但是不支持临时物化视图或自动生成OID。
要创建的物化视图的名字(可以有模式修饰)。
新的物化视图中的字段名。如果没有提供字段名,那么使用查询的输出字段名。
这个子句为新的物化视图指定可选的存储参数;参阅 存储参数 获取更多信息。所有CREATE TABLE支持的参数, CREATE MATERIALIZED VIEW也都支持,除了OIDS。 参阅CREATE TABLE获取更多信息。
tablespace_name 是新的物化视图在其中创建的表空间的名字。如果没有指定, 则查询default_tablespace。
SELECT、TABLE或 VALUES命令。这个查询将在受到安全限制的操作内运行; 特别的,对函数的调用本身创建临时表将会失败。
这个子句说明物化视图是否在创建时填充。如果不,物化视图将被标记为不可扫描, 并且不能被查询,直到使用了REFRESH MATERIALIZED VIEW。