Postgresql 中文操作指南

CREATE MATERIALIZED VIEW

CREATE MATERIALIZED VIEW——定义一个新的物化视图

Synopsis

CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] table_name
    [ (column_name [, ...] ) ]
    [ USING method ]
    [ 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 类似,不同之处在于它还可以记住用于初始化视图的查询,以便之后可以根据需要进行刷新。物化视图拥有与表相同的许多属性,但不支持临时物化视图。

CREATE MATERIALIZED VIEW 需要 CREATE 对用于物化视图的架构的权限。

Parameters

  • IF NOT EXISTS

    • 如果同名的物化视图已存在,请不要引发错误。在这种情况下,将颁发一条通知。请注意,无法保证现有的物化视图与已创建的物化视图类似。

  • table_name

    • 要创建的物化视图的名称(可选的架构限定)。名称必须不同于同一架构中任何其他关系的名称(表、序列、索引、视图、物化视图或外部表)。

  • column_name

    • 新物化视图中列的名称。如果未提供列名,则从查询的输出列名中获取列名。

  • USING _method_

    • 此可选子句指定用于存储新物化视图内容的表访问方法;方法需要是类型 TABLE 的访问方法。有关更多信息,请参见 Chapter 63 。如果未指定此选项,则为新物化视图选择默认表访问方法。有关更多信息,请参见 default_table_access_method

  • WITH ( _storage_parameter [= value ] [, …​ ] )_

    • 此子句为新物化视图指定可选存储参数;有关更多信息,请参见 CREATE TABLE 文档中的 Storage Parameters 。对 CREATE TABLE 支持的所有参数对 CREATE MATERIALIZED VIEW 也受支持。有关更多信息,请参见 CREATE TABLE

  • TABLESPACE _tablespace_name_

    • tablespace_name 是要创建新物化视图的表空间的名称。如果未指定,则会咨询 default_tablespace

  • query

    • SELECTTABLEVALUES 命令。此查询将在安全受限的操作中运行;尤其是,调用自身创建临时表的函数将失败。

  • WITH [ NO ] DATA

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

Compatibility

CREATE MATERIALIZED VIEW 是 PostgreSQL 扩展。