# 创建物化视图

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

# 概要

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

# 描述

创建物化视图定义查询的具体化视图。在发出命令时执行查询并用于填充视图(除非没有数据已使用)并且可以稍后使用刷新刷新物化视图.

创建物化视图类似于创建表为,除了它还记住用于初始化视图的查询,以便以后可以根据需要刷新它。物化视图具有许多与表相同的属性,但不支持临时物化视图。

创建物化视图需要创建用于物化视图的模式的特权。

# 参数

如果不存在

如果已存在同名的物化视图,请不要抛出错误。在这种情况下发出通知。请注意,不能保证现有物化视图与已创建的视图相同。

表名

要创建的物化视图的名称(可选的模式限定)。

列名

新实体化视图中列的名称。如果未提供列名,则它们取自查询的输出列名。

使用 *方法*

此可选子句指定用于存储新实体化视图内容的表访问方法;该方法需要是类型的访问方法桌子.看第61章了解更多信息。如果未指定此选项,则为新实体化视图选择默认表访问方法。看默认_桌子_使用权_方法了解更多信息。

和 ( *存储参数* [= *价值*] [, ... ])

该子句为新的物化视图指定可选的存储参数;看存储参数在里面创建表文档以获取更多信息。支持的所有参数创建表也支持创建物化视图.看创建表了解更多信息。

表空间 *表空间名称*

这*表空间名称*是要在其中创建新物化视图的表空间的名称。如果没有指定,默认_表空间被咨询。

询问

一种选择,桌子, 要么价值观命令。此查询将在安全受限的操作中运行;特别是,对本身创建临时表的函数的调用将失败。

有 [ 无 ] 数据

此子句指定是否应在创建时填充物化视图。如果不是,物化视图将被标记为不可扫描,直到刷新物化视图用来。

# 兼容性

创建物化视图是一个 PostgreSQL 扩展。

# 也可以看看

改变物化视图,创建表为,创建视图,删除物化视图,刷新物化视图