GRANT (View)

Grants view privileges to users and roles.

Syntax

GRANT { privilege[,…] | ALL [ PRIVILEGES ] [ EXTEND ] }
   ON [[database.]schema.]view[,…]
   TO grantee[,…] 
   [ WITH GRANT OPTION ]

Parameters

privilege

The following privileges are valid for views:

ALL [PRIVILEGES][EXTEND]

Grants all view privileges that also belong to the grantor. Grantors cannot grant privileges that they themselves lack.

You can qualify ALL with two optional keywords:

  • PRIVILEGES conforms with the SQL standard.
  • EXTEND extends the semantics of ALL to include ALTER and DROP privileges. An unqualified ALL excludes these two privileges. This option enables backward compatibility with GRANT ALL usage in pre-9.2.1 Vertica releases.
[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 target view.

grantee

Specifies who is granted privileges, one of the following:

WITH GRANT OPTION

Gives grantee the privilege to grant the same privileges to other users or roles, and also revoke them. For details, see Granting Privileges.

Privileges

Non-superusers require USAGE on the schema and one of the following:

  • Owner
  • Privileges grantee given the option (WITH GRANT OPTION) of granting privileges to other users or roles.

As view owner, you can grant other users SELECT privilege on the view only if one of the following is true:

  • You own the view's base table.
  • You have SELECT...WITH GRANT OPTION privilege on the view's base table.

Examples

Grant user Joe all privileges on view ship.

=> CREATE VIEW ship AS SELECT * FROM public.shipping_dimension;
CREATE VIEW
=> GRANT ALL PRIVILEGES ON ship TO Joe;
GRANT PRIVILEGE

See Also

REVOKE (View)