35.38. role_udt_grants #

A visão role_udt_grants destina-se a identificar os privilégios USAGE concedidos em tipos de dados definidos pelo usuário, onde o concessor ou o beneficiado é a função de banco de dados (role) ativa no momento. Podem ser encontradas mais informações em udt_privileges A única diferença efetiva entre esta visão e a visão udt_privileges é que esta visão omite os objetos que se tornaram acessíveis ao usuário corrente por meio de uma concessão para PUBLIC. Como os tipos de dados não possuem privilégios reais no PostgreSQL, mas apenas uma concessão implícita para PUBLIC, esta visão fica vazia.

Tabela 35.36. Colunas de role_udt_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

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

udt_catalog sql_identifier

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

udt_schema sql_identifier

Nome do esquema que contém o tipo de dados

udt_name sql_identifier

Nome do tipo de dados

privilege_type character_data

Sempre TYPE USAGE

is_grantable yes_or_no

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


Exemplo 35.36. Exemplo do tradutor

Privilégios em tipos de dados

Uso do esquema de informações para identificar os privilégios USAGE concedidos no tipo de dados jogo_da_velha definido pela usuária cristina no banco de dados cristina.

SELECT *
FROM information_schema.role_udt_grants
WHERE udt_name = 'jogo_da_velha'\gx

-[ RECORD 1 ]--+--------------
grantor        | cristina
grantee        | PUBLIC
udt_catalog    | cristina
udt_schema     | public
udt_name       | jogo_da_velha
privilege_type | TYPE USAGE
is_grantable   | NO
-[ RECORD 2 ]--+--------------
grantor        | cristina
grantee        | cristina
udt_catalog    | cristina
udt_schema     | public
udt_name       | jogo_da_velha
privilege_type | TYPE USAGE
is_grantable   | YES