A visão domains contém todos os domínios definidos no banco de dados corrente. Somente são mostrados os domínios aos quais o usuário corrente tem acesso (por ser o dono, ou por ter algum privilégio).
Tabela 35.21. Colunas de domains
Coluna Tipo de dados Descrição |
|---|
Nome do banco de dados que contém o domínio (sempre o banco de dados corrente) |
Nome do esquema que contém o domínio |
Nome do domínio |
Tipo de dados do domínio, se for um tipo integrado, ou
|
Se o domínio for de um tipo de dados de cadeia de caracteres ou de bits, o comprimento máximo declarado; nula para todos os outros tipos de dados ou se não foi declarado nenhum comprimento máximo. |
Se o domínio for de um tipo de dados de caractere, o comprimento máximo possível em octetos (bytes) do Datum; nula para todos os outros tipos de dados. O comprimento máximo do octeto depende do comprimento máximo do caractere declarado (veja acima) e da codificação do servidor. |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Nome do banco de dados que contém a ordenação do domínio (sempre o banco de dados corrente), nula se o valor padrão ou o tipo de dados do domínio não for ordenável |
Nome do esquema que contém a ordenação do domínio, nula se o valor padrão ou o tipo de dados do domínio não for ordenável |
Nome da ordenação do domínio, nula se o valor padrão ou o tipo de dados do domínio não for ordenável |
Se o domínio for de um tipo de dados numérico esta coluna irá
conter a precisão (declarada ou implícita) do tipo de dados
para este domínio.
A precisão indica o número de dígitos significativos.
Pode ser expresso em termos decimais (base 10) ou binários
(base 2), conforme especificado na coluna
|
Se o domínio for de um tipo de dados numérico esta coluna irá
indicar em qual base são expressos os valores das colunas
|
Se o domínio for de um tipo de dados numérico exato, esta coluna
irá conter a escala (declarada ou implícita) do tipo de dados
para este domínio.
A escala indica o número de dígitos significativos à direita do
ponto decimal.
Pode ser expresso em termos decimais (base 10) ou binários
(base 2), conforme especificado na coluna
|
Se a coluna |
Se a coluna |
Aplica-se a uma funcionalidade não disponível no
PostgreSQL
(veja |
Expressão padrão do domínio |
Nome do banco de dados onde o tipo de dados do domínio está definido (sempre o banco de dados corrente) |
Nome do esquema em que o tipo de dados do domínio está definido |
Nome do tipo de dados do domínio |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Sempre nula, porque as matrizes sempre têm cardinalidade máxima ilimitada no PostgreSQL |
O identificador do descritor do tipo de dados do domínio, único entre os descritores de tipo de dados pertencentes ao domínio (o que é trivial, porque um domínio contém apenas um descritor de tipo de dados). Serve principalmente para realizar junções com outras instâncias desses identificadores. (O formato específico do identificador não está definido, não havendo garantia de que permanecerá o mesmo nas versões futuras.) |
Exemplo 35.20. Exemplo do tradutor
Domínios definidos no banco de dados
Uso do esquema de informações para mostrar todos os domínios definidos no banco de dados cristina da usuária cristina.
SELECT domain_catalog, domain_schema, domain_name,
data_type, udt_catalog, udt_schema, udt_name, dtd_identifier
FROM information_schema.domains\gx
-[ RECORD 1 ]--+------------------------- domain_catalog | cristina domain_schema | information_schema domain_name | sql_identifier data_type | name udt_catalog | cristina udt_schema | pg_catalog udt_name | name dtd_identifier | 1 -[ RECORD 2 ]--+------------------------- domain_catalog | cristina domain_schema | information_schema domain_name | cardinal_number data_type | integer udt_catalog | cristina udt_schema | pg_catalog udt_name | int4 dtd_identifier | 1 -[ RECORD 3 ]--+------------------------- domain_catalog | cristina domain_schema | public domain_name | iso_216 data_type | text udt_catalog | cristina udt_schema | pg_catalog udt_name | text dtd_identifier | 1 -[ RECORD 4 ]--+------------------------- domain_catalog | cristina domain_schema | information_schema domain_name | yes_or_no data_type | character varying udt_catalog | cristina udt_schema | pg_catalog udt_name | varchar dtd_identifier | 1 -[ RECORD 5 ]--+------------------------- domain_catalog | cristina domain_schema | information_schema domain_name | character_data data_type | character varying udt_catalog | cristina udt_schema | pg_catalog udt_name | varchar dtd_identifier | 1 -[ RECORD 6 ]--+------------------------- domain_catalog | cristina domain_schema | information_schema domain_name | time_stamp data_type | timestamp with time zone udt_catalog | cristina udt_schema | pg_catalog udt_name | timestamptz dtd_identifier | 1 -[ RECORD 7 ]--+------------------------- domain_catalog | cristina domain_schema | public domain_name | fim_semana_abrev data_type | USER-DEFINED udt_catalog | cristina udt_schema | public udt_name | dia_semana_abrev dtd_identifier | 1