30.16. element_types

A visão element_types contém os descritores do tipo de dado dos elementos das matrizes. Quando uma coluna de tabela, domínio, parâmetro de função ou valor retornado por uma função é definido como sendo do tipo matriz, a visão do esquema de informações respectiva somente contém ARRAY na coluna data_type. Para obter informações sobre o tipo do elemento da matriz pode ser feita a junção da visão respectiva com esta visão. Por exemplo, para mostrar as colunas da tabela com os tipos de dado e tipos dos elementos da matriz, se aplicável, pode ser executado:

SELECT c.column_name, c.data_type, e.data_type AS element_type
FROM information_schema.columns c LEFT JOIN information_schema.element_types e
     ON ((c.table_catalog, c.table_schema, c.table_name, 'TABLE', c.dtd_identifier)
       = (e.object_catalog, e.object_schema, e.object_name, e.object_type,
          e.array_type_identifier))
WHERE c.table_schema = '...' AND c.table_name = '...'
ORDER BY c.ordinal_position;

Esta visão somente inclui os objetos que o usuário corrente pode acessar, seja por ser o dono ou por possuir algum privilégio. [1]

Tabela 30-14. Colunas de element_types

Nome Tipo de dado Descrição
object_catalog sql_identifier Nome do banco de dados que contém o objeto que utiliza a matriz sendo descrita (sempre o banco de dados corrente)
object_schema sql_identifier Nome do esquema que contém o objeto que utiliza a matriz sendo descrita
object_name sql_identifier Nome do objeto que utiliza a matriz sendo descrita
object_type character_data O tipo do objeto que utiliza a matriz sendo descrita: um entre TABLE (a matriz é utilizada por uma coluna desta tabela), DOMAIN (a matriz é utilizada por este domínio), ROUTINE (a matriz é utilizada pelo tipo de dado de um parâmetro ou do valor retornado, desta função).
array_type_identifier sql_identifier O identificador do descritor do tipo de dado da matriz sendo descrita. Utilizado para fazer junção com as colunas dtd_identifier de outras visões do esquema de informações.
data_type character_data Tipo de dado dos elementos da matriz, se for um tipo nativo, senão USER-DEFINED (neste caso, o tipo é identificado em udt_name e nas colunas associadas).
character_maximum_length cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
character_octet_length cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
character_set_catalog sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
character_set_schema sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
character_set_name sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
collation_catalog sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
collation_schema sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
collation_name sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
numeric_precision cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
numeric_precision_radix cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
numeric_scale cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
datetime_precision cardinal_number Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
interval_type character_data Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
interval_precision character_data Sempre nulo, uma vez que esta informação não se aplica a tipos de dado de elementos de matriz no PostgreSQL
domain_default character_data Ainda não implementado
udt_catalog sql_identifier Nome do banco de dados onde o tipo de dado dos elementos está definido (sempre o banco de dados corrente)
udt_schema sql_identifier Nome do esquema onde o tipo de dado dos elementos está definido
udt_name sql_identifier Nome do tipo de dado dos elementos
scope_catalog sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
scope_schema sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
scope_name sql_identifier Se aplica a uma funcionalidade não disponível no PostgreSQL
maximum_cardinality cardinal_number Sempre nulo, porque as matrizes sempre possuem uma cardinalidade máxima não definida no PostgreSQL
dtd_identifier sql_identifier O identificador do descritor do tipo de dado do elemento. Atualmente não tem utilidade.

Notas

[1]

ELEMENT_TYPES — visão — Identifica a coleção de tipos de elemento definida neste catálogo acessíveis a 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.)

SourceForge.net Logo CSS válido!