ALTER MATERIALIZED VIEW — 更改一个物化视图的定义
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
action
[, ... ] ALTER MATERIALIZED VIEWname
[ NO ] DEPENDS ON EXTENSIONextension_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
RENAME [ COLUMN ]column_name
TOnew_column_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
RENAME TOnew_name
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
SET SCHEMAnew_schema
ALTER MATERIALIZED VIEW ALL IN TABLESPACEname
[ OWNED BYrole_name
[, ... ] ] SET TABLESPACEnew_tablespace
[ NOWAIT ] 其中action
是以下之一: ALTER [ COLUMN ]column_name
SET STATISTICSinteger
ALTER [ COLUMN ]column_name
SET (attribute_option
=value
[, ... ] ) ALTER [ COLUMN ]column_name
RESET (attribute_option
[, ... ] ) ALTER [ COLUMN ]column_name
SET STORAGE { PLAIN | EXTERNAL | EXTENDED | MAIN | DEFAULT } ALTER [ COLUMN ]column_name
SET COMPRESSIONcompression_method
CLUSTER ONindex_name
SET WITHOUT CLUSTER SET ACCESS METHODnew_access_method
SET TABLESPACEnew_tablespace
SET (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
的描述。
name
一个现有物化视图的名称(可以是模式限定的)。
column_name
一个已存在列的名称。
extension_name
该物化视图所依赖的扩展的名称(如果指定了 NO
,则不再依赖)。
删除扩展时,会自动删除标记为依赖于扩展的实例化视图。
new_column_name
一个现有列的新名称。
new_owner
该物化视图的新拥有者的用户名。
new_name
该物化视图的新名称。
new_schema
该物化视图的新模式。
把物化视图foo
重命名为
bar
:
ALTER MATERIALIZED VIEW foo RENAME TO bar;
ALTER MATERIALIZED VIEW
是一种
PostgreSQL扩展。