30.7. column_privileges

A visão column_privileges identifica todos os privilégios concedidos em colunas para o usuário corrente, ou pelo usuário corrente. Existe uma linha para cada combinação de coluna, quem concedeu e a quem foi concedido. Os privilégios concedidos aos grupos são identificados na visão role_column_grants.

No PostgreSQL só é possível conceder privilégios para toda a tabela, e não para colunas individuais. Portanto, esta visão contém as mesmas informações da visão table_privileges, apenas representadas por uma linha para cada coluna da respectiva tabela, mas somente abrangendo os tipos de privilégio onde a granularidade de coluna é possível: SELECT, INSERT, UPDATE e REFERENCES. Se for desejado tornar os aplicativos adequados para possíveis desenvolvimentos futuros, geralmente é correto escolher esta visão em vez de table_privileges, quando há interesse em um destes tipos de privilégio. [1] [2] [3]

Tabela 30-5. Colunas de column_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 contendo a tabela que contém a coluna (sempre o banco de dados corrente)
table_schema sql_identifier Nome do esquema contendo a tabela que contém a coluna
table_name sql_identifier Nome da tabela que contém a coluna
column_name sql_identifier Nome da coluna
privilege_type character_data Tipo do privilégio: SELECT, INSERT, UPDATE ou REFERENCES
is_grantable character_data YES se o privilégio pode ser concedido, NO caso contrário

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.

Notas

[1]

COLUMN_PRIVILEGES — visão — Identifica os privilégios nas colunas das tabelas, definidos neste catálogo, que estão disponíveis ou foram 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 COLUMN_PRIVILEGES identifica os privilégios em colunas de 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 COLUMN_PRIVILEGES contém uma linha para cada coluna com privilégio concedido por, ou para, o usuário corrente no banco de dados corrente. A visão INFORMATION_SCHEMA.COLUMN_PRIVILEGES é baseada nas tabelas do sistema sysprotects, sysobjects e syscolumns. SQL Server Books Online (N. do T.)

SourceForge.net Logo CSS válido!