GRANT privilege#

Синтаксис#

GRANT ( privilege [, ...] | ( ALL PRIVILEGES ) )
ON ( table_name | TABLE table_name | SCHEMA schema_name)
TO ( user | USER user | ROLE role )
[ WITH GRANT OPTION ]

Описание#

Предоставляет привилегии указанному пользователю.

ALL PRIVILEGES предоставляет привилегии SELECT, INSERT, UPDATE и DELETE.

ROLE PUBLIC предоставляет привилегии роли PUBLIC и, следовательно, всем пользователям.

Необязательное выражение WITH GRANT OPTION позволяет пользователю предоставлять указанную привилегию другим пользователя.

Для успешного выполнения оператора GRANT пользователь, выполняющий его, должен обладать указанными привилегиями, а также GRANT OPTION для этих привилегий.

Примеры#

Предоставляет привилегии INSERT и SELECT для таблицы orders пользователю alice:

GRANT INSERT, SELECT ON orders TO alice;

Предоставляет привилегию DELETE на схему finance пользователю bob:

GRANT DELETE ON SCHEMA finance TO bob;

Предоставляет привилегию SELECT для таблицы nation пользователю alice, дополнительно разрешив alice предоставлять привилегию SELECT другим:

GRANT SELECT ON nation TO alice WITH GRANT OPTION;

Предоставляет привилегию SELECT для таблицы orders всем:

GRANT SELECT ON orders TO ROLE PUBLIC;

Ограничения#

Некоторые коннекторы не поддерживают GRANT. Дополнительные сведения см. в документации по коннекторам.

См. также#

DENY, REVOKE privilege, SHOW GRANTS