创建材料视图

创建材料化视图—定义一个新的材料化视图

Synopsis

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
    [ (column_name [, ...] ) ]
    [ WITH ( storage_parameter [= value] [, ... ] ) ]
    [ TABLESPACE tablespace_name ]
    AS query
    [ WITH [ NO ] DATA ]

Description

CREATE MATERIALIZED VIEW定义查询的实例化视图。该查询将在发出命令时执行并用于填充视图(除非使用WITH NO DATA),以后可以使用REFRESH MATERIALIZED VIEW刷新该查询。

CREATE MATERIALIZED VIEWCREATE TABLE AS相似,除了它还记住用于初始化视图的查询,以便以后可以根据需要刷新它。实例化视图具有许多与表相同的属性,但是不支持临时实例化视图或 OID 的自动生成。

Parameters

  • IF NOT EXISTS

    • 如果已经存在具有相同名称的实例化视图,则不要引发错误。在这种情况下发出通知。请注意,不能保证现有的实例化视图与将要创建的视图类似。
  • table_name

    • 要创建的实例化视图的名称(可选,由模式限定)。
  • column_name

    • 新的物化视图中的列名。如果未提供列名,则它们取自查询的输出列名。
  • WITH ( storage_parameter [= value] [, ... ] )

    • 此子句为新的实例化视图指定可选的存储参数。有关更多信息,请参见Storage ParametersCREATE MATERIALIZED VIEW也支持CREATE TABLE支持的所有参数,但OIDS除外。有关更多信息,请参见CREATE TABLE
  • TABLESPACE tablespace_name

      • tablespace_name *是要在其中创建新实例化视图的表空间的名称。如果未指定,则查询default_tablespace
  • query

    • SELECTTABLEVALUES命令。该查询将在安全性受限的操作中运行;特别是,对本身创建临时表的函数的调用将失败。
  • WITH [ NO ] DATA

    • 此子句指定在创建时是否应填充实例化视图。如果不是,则实例化视图将被标记为不可扫描,并且在使用REFRESH MATERIALIZED VIEW之前无法查询。

Compatibility

CREATE MATERIALIZED VIEW是 PostgreSQL 扩展。

See Also

更改了材料视图, 创建表为, CREATE VIEW, 拖放材料视图, 刷新材料视图