Vertica Analytics Platform Version 9.2.x Documentation

ALTER VIEW

Modifies the metadata of an existing view. The changes are auto-committed

Syntax

Parameters

[database.]schema

Specifies a schema, by default public. If schema is any schema other than public, you must supply the schema name. For example:

myschema.thisDbObject

If you specify a database, it must be the current database.

view

The view to alter.

SET SCHEMA schema Moves the view from one schema to another.
OWNER TO owner

Changes the view owner.

{ INCLUDE
| EXCLUDE 
| MATERIALIZE }
[SCHEMA] PRIVILEGES

Specifies default inheritance of schema privileges for this view:

  • EXCLUDE [SCHEMA] PRIVILEGES (default) disables inheritance of privileges from the schema.
  • INCLUDE [SCHEMA] PRIVILEGES grants the view the same privileges granted to its schema. 
  • MATERIALIZE: Copies grants to the view and creates a GRANT object on the view. This disables the inherited privileges flag on the view, so you can:

    • Grant more specific privileges at the view level
    • Use schema-level privileges as a template
    • Move the view to a different schema
    • Change schema privileges without affecting the view
  • If inherited privileges are disabled at the database level, schema privileges can still be materialized.

See also Setting Privileges Inheritance on Tables and Views in the Administrator's Guide.

RENAME TO

Renames one or more views:

RENAME TO new‑view‑name[,…]

The following requirements apply:

  • The new view name conforms to conventions described in Identifiers. It must also be unique among all names of sequences, tables, projections, views, and models within the same schema.
  • If you specify multiple views to rename, the source and target lists must have the same number of names.
  • Renaming a view requires USAGE and CREATE privileges on the schema that contains the view.

Privileges

Changing a view requires the following privileges:

  • Superuser
  • If renaming a view, CREATE privileges on the schema in which the view is renamed.

Example

The following command renames view1 to view2:

=> CREATE VIEW view1 AS SELECT * FROM t;
CREATE VIEW
=> ALTER VIEW view1 RENAME TO view2;
ALTER VIEW