PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# 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`

  SELECT、TABLE或 VALUES命令。这个查询将在受到安全限制的操作内运行； 特别的，对函数的调用本身创建临时表将会失败。

`WITH [ NO ] DATA`

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

## 兼容性

`CREATE MATERIALIZED VIEW`是一个PostgreSQL扩展。

## 又见

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

上一页 | 起始页 | 下一页
CREATE LANGUAGE | 上一级 | CREATE OPERATOR