ALTER VIEW

Function

ALTER VIEW modifies all auxiliary attributes of a view. (To modify the query definition of a view, use CREATE OR REPLACE VIEW.)

Precautions

  • Only the owner of a view can use ALTER VIEW.
  • To change the schema of a view, you must have the CREATE permission on the new schema.
  • To change the owner of a view, you must be a direct or indirect member of the new owning role, and the member must have the CREATE permission on the view's schema.
  • An administrator can change the owner relationship of any view.

Syntax

  • Set the default value of a view column.

    ALTER VIEW [ IF EXISTS ] view_name
        ALTER [ COLUMN ] column_name SET DEFAULT expression;
    
  • Remove the default value of a view column.

    ALTER VIEW [ IF EXISTS ] view_name
        ALTER [ COLUMN ] column_name DROP DEFAULT;
    
  • Change the owner of a view.

    ALTER VIEW [ IF EXISTS ] view_name 
        OWNER TO new_owner;
    
  • Rename a view.

    ALTER VIEW [ IF EXISTS ] view_name 
        RENAME TO new_name;
    
  • Set the schema of a view.

    ALTER VIEW [ IF EXISTS ] view_name 
        SET SCHEMA new_schema;
    
  • Set the options of a view.

    ALTER VIEW [ IF EXISTS ] view_name
        SET ( { view_option_name [ = view_option_value ] } [, ... ] );
    
  • Reset the options of a view.

    ALTER VIEW [ IF EXISTS ] view_name
        RESET ( view_option_name [, ... ] );
    

Parameter Description

  • IF EXISTS

    If this option is used, no error is generated when the view does not exist, and only a message is displayed.

  • view_name

    Specifies the view name, which can be schema-qualified.

    Value range: a string. It must comply with the naming convention rule.

  • column_name

    Specifies an optional list of names to be used for columns of the view. If not given, the column names are deduced from the query.

    Value range: a string. It must comply with the naming convention rule.

  • SET/DROP DEFAULT

    Sets or deletes the default value of a column. this parameter does not take effect.

  • new_owner

    Specifies the new owner of a view.

  • new_name

    Specifies the new view name.

  • new_schema

    Specifies the new schema of the view.

  • view_option_name [ = view_option_value ]

    Specifies an optional parameter for a view.

    Currently, view_option_name supports only the security_barrier parameter. This parameter is used when the view attempts to provide row-level security.

    Value range: Boolean type, TRUE, and FALSE.

Examples

-- Create a view consisting of rows with c_customer_sk less than 150.
postgres=# CREATE VIEW tpcds.customer_details_view_v1 AS
    SELECT * FROM tpcds.customer
    WHERE c_customer_sk < 150;

-- Rename a view.
postgres=# ALTER VIEW tpcds.customer_details_view_v1 RENAME TO customer_details_view_v2;

-- Change the schema of a view.
postgres=# ALTER VIEW tpcds.customer_details_view_v2 SET schema public;

-- Delete a view.
postgres=# DROP VIEW public.customer_details_view_v2;

Helpful Links

CREATE VIEW and DROP VIEW

Feedback
编组 3备份
    openGauss 2024-09-07 00:58:25
    cancel