预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。
ALTER MATERIALIZED VIEW
ALTER MATERIALIZED VIEW — 更改一个物化视图的定义
大纲
ALTER MATERIALIZED VIEW [ IF EXISTS ]nameaction[, ... ] ALTER MATERIALIZED VIEWname[ NO ] DEPENDS 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 | DEFAULT } ALTER [ COLUMN ]column_nameSET COMPRESSIONcompression_methodCLUSTER ONindex_nameSET WITHOUT CLUSTER SET ACCESS METHODnew_access_methodSET TABLESPACEnew_tablespaceSET (storage_parameter[=value] [, ... ] ) RESET (storage_parameter[, ... ] ) OWNER TO {new_owner| CURRENT_ROLE | CURRENT_USER | SESSION_USER }
描述
ALTER MATERIALIZED VIEW 更改一个现有物化视图的各种辅助属性。
要使用 ALTER MATERIALIZED VIEW,你必须拥有该物化视图。要更改一个物化视图的模式,你还必须具有新模式上的 CREATE 权限。要更改拥有者,你必须能够对新拥有角色执行 SET ROLE,并且该角色必须具有该物化视图所在模式上的 CREATE 权限。(这些限制确保,更改拥有者不会做到你无法通过删除并重新创建该物化视图来完成的事情。不过,超级用户无论如何都可以更改任何视图的所有权。)
可用于 ALTER MATERIALIZED VIEW 的语句形式和动作是
ALTER TABLE 可用形式的一个子集,并且在用于物化视图时具有相同的含义。有关细节请参见 ALTER TABLE 中的说明。
参数
示例
把物化视图 foo 重命名为
bar:
ALTER MATERIALIZED VIEW foo RENAME TO bar;
兼容性
ALTER MATERIALIZED VIEW 是一种
PostgreSQL 扩展。