GRANT privilege#

Синтаксис#

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

Описание#

Выдает указанные привилегии указанному получателю.

Указание ALL PRIVILEGES выдает привилегии DELETE, INSERT, UPDATE и SELECT.

Указание 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;

Выдать привилегию INSERT для branch audit таблицы orders пользователю alice:

GRANT INSERT ON BRANCH audit IN orders TO alice;

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

Некоторые коннекторы не поддерживают GRANT. Подробности см. в документации коннектора.

См. также#

DENY, REVOKE privilege, SHOW GRANTS