A visão table_privileges identifica todos os privilégios concedidos em tabelas ou visões para o usuário corrente ou pelo usuário corrente. Existe uma linha para cada combinação de tabela, quem concedeu e a quem foi concedido. Os privilégios concedidos aos grupos são identificados na visão role_table_grants [1] [2] [3]
Tabela 30-33. Colunas de table_privileges
Nome | Tipo de dado | Descrição |
---|---|---|
grantor | sql_identifier | Nome do usuário que concedeu o privilégio |
grantee | sql_identifier | Nome do usuário ou do grupo para o 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 do privilégio: SELECT, DELETE, INSERT, UPDATE, REFERENCES, RULE ou TRIGGER |
is_grantable | character_data | YES se o privilégio pode ser concedido, NO caso contrário |
with_hierarchy | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
Deve ser observado que a coluna grantee não faz distinção entre usuários e grupos. Havendo usuários e grupos com o mesmo nome, infelizmente não há maneira de distingui-los. Possivelmente será proibido existir usuários e grupos com o mesmo nome em uma versão futura do PostgreSQL.
[1] |
TABLE_PRIVILEGES — visão — Identifica os privilégios nas tabelas definidos neste catálogo disponíveis para, ou concedidos por, um determinado usuário ou grupo. (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.) |
[2] |
O rowset TABLE_PRIVILEGES identifica os privilégios em tabelas definidos no catálogo disponíveis para, ou concedidos por, um determinado usuário. Microsoft OLE DB Programmer's Reference (N. do T.) |
[3] |
A visão TABLE_PRIVILEGES contém uma linha para cada privilégio de tabela concedido para, ou pelo, usuário corrente no banco de dados corrente. A visão INFORMATION_SCHEMA.TABLE_PRIVILEGES é baseada nas tabelas do sistema sysprotects e sysobjects. SQL Server Books Online (N. do T.) |