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
|
[database.]schema
|
Database and schema. The default schema is |
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