A visão applicable_roles identifica todos os grupos que o usuário corrente é membro (Uma role é a mesma coisa que um grupo). Geralmente é melhor utilizar a visão enabled_roles em vez desta visão. [1]
Tabela 30-2. Colunas de applicable_roles
| Nome | Tipo de dado | Descrição |
|---|---|---|
| grantee | sql_identifier | Sempre o nome do usuário corrente |
| role_name | sql_identifier | Nome do grupo |
| is_grantable | character_data | Se aplica a uma funcionalidade não disponível no PostgreSQL |
Exemplo: Criar os grupos engenharia e arquitetura, tornando o usuário teste membro destes grupos. [2]
teste=> \c teste postgres
Conectado ao banco de dados "teste" como usuário "postgres".
teste=# CREATE GROUP engenharia WITH USER teste;
teste=# CREATE GROUP arquitetura WITH USER teste;
teste=# \c teste teste
Conectado ao banco de dados "teste" como usuário "teste".
teste=> SELECT * FROM information_schema.applicable_roles;
grantee | role_name | is_grantable
---------+-------------+--------------
teste | engenharia | NO
teste | arquitetura | NO
(2 linhas)
teste=> \dg
Lista de grupos
Nome do Grupo | ID do Grupo
---------------+-------------
arquitetura | 101
engenharia | 100
teste=> SELECT * FROM information_schema.enabled_roles;
role_name
-------------
engenharia
arquitetura
(2 linhas)
| [1] |
APPLICABLE_ROLES — visão — Identifica os grupos aplicáveis para o usuário corrente. (ISO-ANSI Working Draft) Information and Definition Schemas (SQL/Schemata), ISO/IEC 9075-11:2003 (E) (N. do T.) |
| [2] |
Exemplo escrito pelo tradutor, não fazendo parte do manual original. |