Перейти к основному содержимому
Перейти к основному содержимому

Оператор CHECK GRANT

Запрос CHECK GRANT используется для проверки, был ли текущему пользователю/роли предоставлен конкретный привилегия.

Синтаксис

Базовый синтаксис запроса выглядит следующим образом:

CHECK GRANT privilege[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*}
  • privilege — Тип привилегии.

Примеры

Если пользователю была предоставлена привилегия, ответ check_grant будет 1. В противном случае ответ check_grant будет 0.

Если table_1.col1 существует и текущему пользователю предоставлена привилегия SELECT/SELECT(con) или роль (с привилегией), ответ будет 1.

CHECK GRANT SELECT(col1) ON table_1;
┌─result─┐
│      1 │
└────────┘

Если table_2.col2 не существует, или текущему пользователю не предоставлена привилегия SELECT/SELECT(con) или роль (с привилегией), ответ будет 0.

CHECK GRANT SELECT(col2) ON table_2;
┌─result─┐
│      0 │
└────────┘

Подстановка

Для указания привилегий вы можете использовать звездочку (*) вместо имени таблицы или базы данных. Пожалуйста, ознакомьтесь с WILDCARD GRANTS для правил подстановки.