更新时间:2024-11-12 GMT+08:00
ALTER MATERIALIZED VIEW
功能描述
更改一个现有物化视图的多个辅助属性。
可用于ALTER MATERIALIZED VIEW的语句形式和动作是ALTER TABLE的一个子集,并且在用于物化视图时具有相同的含义。详见ALTER TABLE。
注意事项
- 只有物化视图的所有者有权限执行ALTER MATERIALIZED 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;
参数说明
示例
- 修改物化视图所有者。
--创建表。 gaussdb=# CREATE TABLE my_table (c1 int, c2 int) WITH(STORAGE_TYPE=ASTORE); --创建全量物化视图。 gaussdb=# CREATE MATERIALIZED VIEW foo AS SELECT * FROM my_table; --创建用户。 gaussdb=# CREATE USER test PASSWORD '********'; --修改全量物化视图的所有者。 gaussdb=# ALTER MATERIALIZED VIEW foo OWNER TO test; --查看物化视图信息。 gaussdb=# \dm foo List of relations Schema | Name | Type | Owner | Storage --------+------+-------------------+-------+---------------------------------- public | foo | materialized view | test | {orientation=row,compression=no} (1 row)
- 重命名物化视图的列。
--查询物化视图的列。 gaussdb=# \d foo; Materialized view "public.foo" Column | Type | Modifiers --------+---------+----------- c1 | integer | c2 | integer | Rules: "_RETURN" AS ON SELECT TO foo DO INSTEAD SELECT my_table.c1, my_table.c2 FROM my_table Replica Identity: NOTHING --将物化视图foo的列c1修改为col1,c2修改为col2。 gaussdb=# ALTER MATERIALIZED VIEW foo RENAME c1 to col1; gaussdb=# ALTER MATERIALIZED VIEW foo RENAME c2 to col2; --通过SELECT查看该物化视图的列。 gaussdb=# SELECT * FROM foo WHERE 1=2; col1 | col2 ------+------ (0 rows)
- 重命名物化视图。
--将物化视图foo重命名为my_mview。 gaussdb=# ALTER MATERIALIZED VIEW foo RENAME TO my_mview; --查询信息。 gaussdb=# \dm my_mview List of relations Schema | Name | Type | Owner | Storage --------+----------+-------------------+-------+---------------------------------- public | my_mview | materialized view | test | {orientation=row,compression=no} (1 row) --删除。 gaussdb=# DROP MATERIALIZED VIEW my_mview; gaussdb=# DROP TABLE my_table ; gaussdb=# DROP USER test;
父主题: A