CREATE MATERIALIZED VIEW

名称

CREATE MATERIALIZED VIEW -- 定义一个物化视图

大纲

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