Pular para o conteúdo principal
A consulta CHECK GRANT é usada para verificar se o usuário/role atual recebeu um privilégio específico.

Sintaxe

A sintaxe básica da consulta é a seguinte:
CHECK GRANT privilege[(column_name [,...])] [,...] ON {db.table[*]|db[*].*|*.*|table[*]|*}
  • privilege — Tipo de privilégio.

Exemplos

Se o usuário já tiver recebido o privilégio, a resposta check_grant será 1. Caso contrário, a resposta check_grant será 0. Se table_1.col1 existir e o usuário atual tiver recebido o privilégio SELECT/SELECT(con) ou uma role (com o privilégio), a resposta será 1.
CHECK GRANT SELECT(col1) ON table_1;
┌─result─┐
│      1 │
└────────┘
Se table_2.col2 não existir ou se o usuário atual não tiver o privilégio SELECT/SELECT(con) nem um role (com esse privilégio), a resposta será 0.
CHECK GRANT SELECT(col2) ON table_2;
┌─result─┐
│      0 │
└────────┘

Curinga

Ao especificar privilégios, você pode usar um asterisco (*) no lugar de um nome de tabela ou de banco de dados. Consulte GRANTS COM CURINGA para conferir as regras de uso de curingas.
Última modificação em 1 de julho de 2026