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 10 de junho de 2026