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_

SELECTTABLEVALUES命令。这个查询将在受到安全限制的操作内运行; 特别的,对函数的调用本身创建临时表将会失败。

WITH [ NO ] DATA

这个子句说明物化视图是否在创建时填充。如果不,物化视图将被标记为不可扫描, 并且不能被查询,直到使用了REFRESH MATERIALIZED VIEW

兼容性

CREATE MATERIALIZED VIEW是一个PostgreSQL扩展。

又见

ALTER MATERIALIZED VIEW, CREATE TABLE AS, CREATE VIEW, DROP MATERIALIZED VIEW, REFRESH MATERIALIZED VIEW