A visão user_defined_types no momento contém todos os tipos de dados compostos definidos no banco de dados corrente. Somente são mostrados os tipos de dados aos quais o usuário corrente tem acesso (por ser o dono, ou por ter algum privilégio).
O padrão SQL reconhece dois tipos de
tipo de dados definido pelo usuário: tipos estruturados (também
conhecidos como tipos compostos no PostgreSQL),
e os tipos de dados distintos (não implementado no
PostgreSQL).
Para estar preparado para o futuro, deve-se usar a coluna
user_defined_type_category para diferenciá-los.
Outros tipos de dados definidos pelo usuário, como tipos-base e
enumerações, que são extensões do PostgreSQL,
não são mostrados nesta visão.
Para os domínios, veja domains
em vez dessa visão.
Tabela 35.58. Colunas de user_defined_types
Coluna Tipo de dados Descrição |
|---|
Nome do banco de dados que contém o tipo de dados (sempre o banco de dados corrente) |
Nome do esquema que contém o tipo de dados |
Nome do tipo de dados |
No momento sempre |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
Aplica-se a uma funcionalidade não disponível no PostgreSQL |
Exemplo 35.55. Exemplo do tradutor
Tipos de dados compostos
Uso do esquema de informações para mostrar os tipos de dados
compostos definidos no
banco de dados cristina da
usuára cristina.
Foi usado o jsonb para eliminar as colunas
com valor nulo e formatar a saída.
SELECT jsonb_pretty(jsonb_strip_nulls(to_jsonb(t))) FROM information_schema.user_defined_types t;
jsonb_pretty
--------------------------------------------------
{ +
"is_instantiable": "YES", +
"user_defined_type_name": "item_inventário",+
"user_defined_type_schema": "public", +
"user_defined_type_catalog": "cristina", +
"user_defined_type_category": "STRUCTURED" +
}
{ +
"is_instantiable": "YES", +
"user_defined_type_name": "complexo", +
"user_defined_type_schema": "public", +
"user_defined_type_catalog": "cristina", +
"user_defined_type_category": "STRUCTURED" +
}
(2 linhas)