问题报告
纠错本页面
ALTER MATERIALIZED VIEW
名称
ALTER MATERIALIZED VIEW -- 更改一个物化视图的定义大纲
ALTER MATERIALIZED VIEW [ IF EXISTS ] name
action [, ... ]
ALTER MATERIALIZED VIEW name
DEPENDS ON EXTENSION extension_name
ALTER MATERIALIZED VIEW [ IF EXISTS ] name
RENAME [ COLUMN ] column_name TO new_column_name
ALTER MATERIALIZED VIEW [ IF EXISTS ] name
RENAME TO new_name
ALTER MATERIALIZED VIEW [ IF EXISTS ] name
SET SCHEMA new_schema
ALTER MATERIALIZED VIEW ALL IN TABLESPACE name [ OWNED BY role_name [, ... ] ]
SET TABLESPACE new_tablespace [ NOWAIT ]
其中 action是下列之一:
ALTER [ COLUMN ] column_name SET STATISTICS integer
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 ON index_name
SET WITHOUT CLUSTER
SET ( storage_parameter = value [, ... ] )
RESET ( storage_parameter [, ... ] )
OWNER TO { new_owner | CURRENT_USER | session_USER }
SET TABLESPACE new_tablespace
描述
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扩展。