CREATE MATERIALIZED VIEW
CREATE MATERIALIZED VIEW - 定义新的物化视图
语法格式
CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] 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。
参数说明
IF NOT EXISTS
如果已经存在一个同名的物化视图时不要抛出错误。这种情况下会发出一个 提示。注意这不保证现有的物化视图与即将创建的物化视图相似。
table_name
要创建的物化视图的名称(可以被模式限定)。
column_name
新物化视图中的一个列名。如果没有提供列名,会从查询的输出列名来得到。
WITH ( storage_parameter [= value] [, … ] )
这个子句为新的物化视图指定可选的存储参数,详见 存储参数。所有CREATE TABLE支持的参数CREATE MATERIALIZED VIEW也支持,不过OIDS除外。 详见CREATE TABLE。
TABLESPACE tablespace_name
tablespace_name是 要把新物化视图创建在其中的表空间的名称。如果没有指定, 将查阅default_tablespace。
query
一个SELECT、TABLE 或者VALUES命令。这个查询将在一个安全受限的操作中运行。 特别地,对本身会创建临时表的函数的调用将会失败。
WITH [ NO ] DATA
这个子句指定物化视图是否在创建时被填充。如果不是,该物化视图将被标记为 不可扫描并且在REFRESH MATERIALIZED VIEW被使用前不能被查询。