35.37. role_table_grants #

A visão role_table_grants identifica todos os privilégios concedidos em tabelas ou visões onde o concessor, ou o beneficiado, é a função de banco de dados (role) ativa no momento. Podem ser encontradas mais informações em table_privileges A única diferença efetiva entre esta visão e a visão table_privileges é que esta visão omite as tabelas que se tornaram acessíveis ao usuário corrente por meio de uma concessão para PUBLIC.

Tabela 35.35. Colunas de role_table_grants

Coluna Tipo de dados

Descrição

grantor sql_identifier

Nome da função de banco de dados que concedeu o privilégio

grantee sql_identifier

Nome da função de banco de dados para a qual o privilégio foi concedido

table_catalog sql_identifier

Nome do banco de dados que contém a tabela (sempre o banco de dados corrente)

table_schema sql_identifier

Nome do esquema que contém a tabela

table_name sql_identifier

Nome da tabela

privilege_type character_data

Tipo de privilégio: SELECT, INSERT, UPDATE, DELETE, TRUNCATE, REFERENCES ou TRIGGER

is_grantable yes_or_no

YES se o privilégio puder ser concedido, NO caso contrário

with_hierarchy yes_or_no

No padrão SQL, WITH HIERARCHY OPTION é um (sub)privilégio separado que permite certas operações em hierarquias de herança de tabela. No PostgreSQL está incluído no privilégio SELECT, portanto esta coluna irá mostrar YES se o privilégio for SELECT, ou NO caso contrário.


Exemplo 35.35. Exemplo do tradutor

Privilégios concedidos em tabelas ou visões

Uso do esquema de informações para mostrar todos os privilégios concedidos em tabelas ou visões onde a concessora é a usuária ana e a beneficiária é a usuária cristina,

GRANT INSERT, SELECT, DELETE, UPDATE ON literatura TO cristina;
GRANT
SELECT *
FROM information_schema.role_table_grants
WHERE grantee = 'cristina'\gx

-[ RECORD 1 ]--+-----------
grantor        | ana
grantee        | cristina
table_catalog  | ana
table_schema   | public
table_name     | literatura
privilege_type | INSERT
is_grantable   | NO
with_hierarchy | NO
-[ RECORD 2 ]--+-----------
grantor        | ana
grantee        | cristina
table_catalog  | ana
table_schema   | public
table_name     | literatura
privilege_type | SELECT
is_grantable   | NO
with_hierarchy | YES
-[ RECORD 3 ]--+-----------
grantor        | ana
grantee        | cristina
table_catalog  | ana
table_schema   | public
table_name     | literatura
privilege_type | UPDATE
is_grantable   | NO
with_hierarchy | NO
-[ RECORD 4 ]--+-----------
grantor        | ana
grantee        | cristina
table_catalog  | ana
table_schema   | public
table_name     | literatura
privilege_type | DELETE
is_grantable   | NO
with_hierarchy | NO