Запрос 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 │
└────────┘
При указании привилегий можно использовать звёздочку (*) вместо имени таблицы или базы данных. Правила использования подстановочных знаков см. в разделе ПРИВИЛЕГИИ С ПОДСТАНОВОЧНЫМИ ЗНАКАМИ. Последнее изменение 10 июня 2026 г.