ALTER VIEW

    注意事项

    • 用户必须是视图的所有者才可以使用ALTER VIEW。
    • 要改变视图的模式,用户必须要有新模式的CREATE权限。
    • 要改变视图的所有者,用户必须是新所属角色的直接或者间接的成员,并且此角色必须有视图模式的CREATE权限。
    • 管理员用户可以更改任何视图的所属关系。
    • 设置视图列的默认值。

    • 取消列视图列的默认值。

      1. ALTER [ COLUMN ] column_name DROP DEFAULT;
    • 重命名视图。

      1. ALTER VIEW [ IF EXISTS ] view_name
      2. RENAME TO new_name;
    • 设置视图的所属模式。

    • 设置视图的选项。

      1. ALTER VIEW [ IF EXISTS ] view_name
      2. SET ( { view_option_name [ = view_option_value ] } [, ... ] );
    • 重置视图的选项。

    参数说明

    • IF EXISTS

    • view_name

      视图名称,可以用模式修饰。

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

    • column_name

      可选的名称列表,视图的字段名。如果没有给出,字段名取自查询中的字段名。

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

    • SET/DROP DEFAULT

      设置或删除一个列的缺省值,该参数暂无实际意义。

    • 视图新所有者的用户名称。

    • new_name

      视图的新名称。

    • view_option_name [ = view_option_value ]

      该子句为视图指定一个可选的参数。

      目前view_option_name支持的参数仅有security_barrier,当VIEW试图提供行级安全时,应使用该参数。

    1. postgres=# CREATE VIEW tpcds.customer_details_view_v1 AS
    2. SELECT * FROM tpcds.customer
    3. WHERE c_customer_sk < 150;
    4. --修改视图名称。
    5. --修改视图所属schema
    6. postgres=# ALTER VIEW tpcds.customer_details_view_v2 SET schema public;
    7. --删除视图。

    相关链接

    DROP VIEW