历史版本。 PostgreSQL 12 已结束支持。 2024-11-21. 请参阅 当前版本手册.
ALTER MATERIALIZED VIEW
ALTER MATERIALIZED VIEW — 更改一个物化视图的定义
大纲
ALTER MATERIALIZED VIEW [ IF EXISTS ]nameaction[, ... ] ALTER MATERIALIZED VIEWnameDEPENDS ON EXTENSIONextension_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME [ COLUMN ]column_nameTOnew_column_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameRENAME TOnew_nameALTER MATERIALIZED VIEW [ IF EXISTS ]nameSET SCHEMAnew_schemaALTER MATERIALIZED VIEW ALL IN TABLESPACEname[ OWNED BYrole_name[, ... ] ] SET TABLESPACEnew_tablespace[ NOWAIT ] 其中action可以是以下之一: ALTER [ COLUMN ]column_nameSET STATISTICSintegerALTER [ COLUMN ]column_nameSET (attribute_option=value[, ... ] ) ALTER [ COLUMN ]column_nameRESET (attribute_option[, ... ] ) ALTER [ COLUMN ]column_nameSET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN } CLUSTER ONindex_nameSET WITHOUT CLUSTER SET TABLESPACEnew_tablespaceSET (storage_parameter[=value] [, ... ] ) RESET (storage_parameter[, ... ] ) OWNER TO {new_owner| CURRENT_USER | SESSION_USER }
描述
ALTER MATERIALIZED VIEW 更改一个现有物化视图的各种辅助属性。
要使用 ALTER MATERIALIZED VIEW,必须拥有该物化视图。要更改物化视图的模式,还必须在新模式上拥有 CREATE 权限。要更改所有者,还必须是新所有者角色的直接或间接成员,并且该角色必须在物化视图所在模式上拥有 CREATE 权限。(这些限制确保更改所有者不会执行任何无法通过删除并重新创建物化视图完成的操作。不过,超级用户无论如何都可以更改任何视图的所有权。)
DEPENDS ON EXTENSION 形式将物化视图标记为依赖扩展,因此扩展被删除时物化视图会自动删除。
ALTER MATERIALIZED VIEW 可用的语句子形式和操作是 ALTER TABLE 可用项的子集,用于物化视图时含义相同。详情请参见 ALTER TABLE 的说明。
参数
name一个现有物化视图的名称(可以是模式限定的)。
column_name现有列的名称。
extension_name物化视图所依赖的扩展名称。
new_column_name现有列的新名称。
new_owner该物化视图的新拥有者的用户名。
new_name该物化视图的新名称。
new_schema该物化视图的新模式。
示例
把物化视图 foo 重命名为
bar:
ALTER MATERIALIZED VIEW foo RENAME TO bar;
兼容性
ALTER MATERIALIZED VIEW 是一种
PostgreSQL 扩展。