52 lines
1.3 KiB
Markdown
52 lines
1.3 KiB
Markdown
|
|
GRANT
|
|
=====
|
|
|
|
Synopsis
|
|
--------
|
|
|
|
``` sql
|
|
GRANT ( privilege [, ...] | ( ALL PRIVILEGES ) )
|
|
ON [ TABLE ] table_name TO ( user | USER user | ROLE role )
|
|
[ WITH GRANT OPTION ]
|
|
```
|
|
|
|
Description
|
|
-----------
|
|
|
|
Grants the specified privileges to the specified grantee.
|
|
|
|
Specifying `ALL PRIVILEGES` grants [DELETE](./delete.md), [INSERT](./insert.md) and [SELECT](./select.md) privileges.
|
|
|
|
Specifying `ROLE PUBLIC` grants privileges to the `PUBLIC` role and hence to all users.
|
|
|
|
The optional `WITH GRANT OPTION` clause allows the grantee to grant these same privileges to others.
|
|
|
|
For `GRANT` statement to succeed, the user executing it should possess the specified privileges as well as the `GRANT OPTION` for those privileges.
|
|
|
|
Examples
|
|
--------
|
|
|
|
Grant `INSERT` and `SELECT` privileges on the table `orders` to user
|
|
`alice`:
|
|
|
|
GRANT INSERT, SELECT ON orders TO alice;
|
|
|
|
Grant `SELECT` privilege on the table `nation` to user `alice`, additionally allowing `alice` to grant `SELECT` privilege to others:
|
|
|
|
GRANT SELECT ON nation TO alice WITH GRANT OPTION;
|
|
|
|
Grant `SELECT` privilege on the table `orders` to everyone:
|
|
|
|
GRANT SELECT ON orders TO ROLE PUBLIC;
|
|
|
|
Limitations
|
|
-----------
|
|
|
|
Some connectors have no support for `GRANT`. See connector documentation for more details.
|
|
|
|
See Also
|
|
--------
|
|
|
|
[REVOKE](./revoke.md), [SHOW GRANTS](./show-grants.md)
|