受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

ALTER MATERIALIZED VIEW

ALTER MATERIALIZED VIEW — 更改一个物化视图的定义

Synopsis

ALTER MATERIALIZED VIEW [ IF EXISTS ] name
    action [, ... ]
ALTER MATERIALIZED VIEW name
    [ NO ] 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 | DEFAULT }
    ALTER [ COLUMN ] column_name SET COMPRESSION compression_method
    CLUSTER ON index_name
    SET WITHOUT CLUSTER
    SET ACCESS METHOD new_access_method
    SET TABLESPACE new_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扩展。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。