更新时间:2024-05-07 GMT+08:00

ALTER MATERIALIZED VIEW

功能描述

更改一个现有物化视图的多个辅助属性。

可用于ALTER MATERIALIZED VIEW的语句形式和动作是ALTER TABLE的一个子集,并且在用于物化视图时具有相同的含义。详见ALTER TABLE

注意事项

  • 只有物化视图的所有者有权限执行ALTER TMATERIALIZED VIEW命令,系统管理员默认拥有此权限。
  • 不支持更改物化视图结构。

语法格式

  • 修改物化视图的所属用户。
    ALTER MATERIALIZED VIEW [ IF EXISTS ] mv_name
        OWNER TO new_owner;
  • 修改物化视图的列。
    ALTER MATERIALIZED VIEW [ IF EXISTS ] mv_name
        RENAME [ COLUMN ] column_name TO new_column_name;
  • 重命名物化视图。
    ALTER MATERIALIZED VIEW [ IF EXISTS ] mv_name
        RENAME TO new_name;

参数说明

  • mv_name

    一个现有物化视图的名称,可以用模式修饰。

    取值范围:字符串,符合标识符命名规范

  • column_name

    一个新的或者现有的列的名称。

    取值范围:字符串,符合标识符命名规范

  • new_column_name

    一个现有列的新名称。

  • new_owner

    该物化视图的新拥有者的用户名。

  • new_name

    该物化视图的新名称。

示例

--创建表。
gaussdb=# CREATE TABLE my_table (c1 int, c2 int) WITH(STORAGE_TYPE=ASTORE);

--创建全量物化视图。
gaussdb=# CREATE MATERIALIZED VIEW foo AS SELECT * FROM my_table;

--把物化视图foo重命名为bar。
gaussdb=# ALTER MATERIALIZED VIEW foo RENAME TO bar;

--删除全量物化视图。
gaussdb=# DROP MATERIALIZED VIEW bar;

--删除表my_table。
gaussdb=# DROP TABLE my_table;