ALTER MATERIALIZED VIEW — 更改一个物化视图的定义
ALTER MATERIALIZED VIEW [ IF EXISTS ]name
action
[, ... ] ALTER MATERIALIZED VIEWname
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 } CLUSTER ONindex_name
SET WITHOUT CLUSTER SET (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扩展。