CREATE MATERIALIZED VIEW
Name
CREATE MATERIALIZED VIEW -- 定义一个物化视图
Synopsis
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。
参数
_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
。
兼容性
CREATE MATERIALIZED VIEW
是一个PostgreSQL扩展。
又见
ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW