oid oid
Identificador da linha
|
typname name
Nome do tipo de dados
|
typnamespace oid
(referencia pg_namespace.oid)
OID do espaço de nomes que contém este tipo de dados
|
typowner oid
(referencia pg_authid.oid)
Dono do tipo de dados
|
typlen int2
Para um tipo de dados de tamanho fixo,
typlen é o número de bytes na
representação interna do tipo de dados.
Mas para um tipo de dados de comprimento variável,
typlen é negativo.
-1 indica um tipo de dados “varlena”
(aquele que tem uma palavra de comprimento),
-2 indica uma cadeia de caracteres C
terminada em nulo.
|
typbyval bool
typbyval determina se as rotinas
internas passam o valor desse tipo de dados por valor ou por
referência.
typbyval é melhor que seja falso se
typlen não for 1, 2, ou 4
(ou 8 em máquinas onde o Datum é de 8 bytes).
Tipos de dados de comprimento variável são sempre passados por
referência.
Note que typbyval pode ser falso
mesmo que o comprimento permita passagem por valor.
|
typtype char
typtype é
b para um tipo de dados de base,
c para um tipo de dados composto
(por exemplo, o tipo de linha de uma tabela),
d para um domínio,
e para um tipo de dados enum,
p para um pseudo-tipo de dados,
r para um tipo de dados de intervalo, ou
m para um tipo de dados multi-intervalo.
Veja também typrelid e
typbasetype.
|
typcategory char
typcategory é uma classificação
arbitrária de tipos de dados usada pelo analisador para
determinar quais conversões implícitas devem ser
“preferidas”.
Veja Tabela 52.65.
|
typispreferred bool
Verdade se o tipo de dados for um destino preferencial de
conversão dentro de seu typcategory
|
typisdefined bool
Verdade se o tipo de dados estiver definido, falso se esta for
uma entrada de espaço reservado para um tipo de dados ainda não
definido.
Quando typisdefined for falso, nada,
exceto o nome do tipo de dados, o espaço de nomes e o OID, pode
ser confiável.
|
typdelim char
Caractere que separa dois valores desse tipo de dados ao
analisar a entrada de uma matriz.
Note que o delimitador está associado ao tipo de dados do
elemento da matriz, e não ao tipo de dados da matriz.
|
typrelid oid
(referencia pg_class.oid)
Se for um tipo de dados composto
(veja typtype), então esta coluna irá
apontar para a entrada em pg_class
que define a tabela correspondente.
(Para um tipo de dados composto independente, a entrada em
pg_class não representa realmente
uma tabela, mas é necessário de qualquer forma para as entradas
em pg_attribute do tipo de dados para
vincular.)
Zero para tipos de dados não compostos.
|
typsubscript regproc
(referencia pg_proc.oid)
OID da função tratadora de indexação, ou zero se este
tipo de dados não der suporte a indexação.
Tipos de dados que são tipos matriz “verdadeiros”
têm typsubscript
= array_subscript_handler, mas outros tipos
de dados podem ter outras funções tratadoras para implementar
comportamento de indexação especializado.
|
typelem oid
(referencia pg_type.oid)
Se typelem não for zero, identifica
outra linha em pg_type,
definindo o tipo de dados produzido pela indexação.
Deverá ser zero se typsubscript for zero.
Entretanto, pode ser zero quando
typsubscript não é zero, se o tratador
não precisar de typelem para determinar
o tipo de dados de resultado da indexação.
Note que uma dependência typelem
é considerada como implicando contenção física do tipo de dados
do elemento neste tipo de dados; portanto, as alterações de
DDL no tipo de dados de elemento podem ser
restritas pela presença desse tipo de dados.
|
typarray oid
(referencia pg_type.oid)
Se typarray não for zero, identifica
outra linha em pg_type que é o
“verdadeiro” tipo de dados matriz tendo este
tipo de dados como elemento
|
typinput regproc
(referencia pg_proc.oid)
Função de conversão da entrada (formato texto)
|
typoutput regproc
(referencia pg_proc.oid)
Função de conversão da saída (formato texto)
|
typreceive regproc
(referencia pg_proc.oid)
Função de conversão da entrada (formato binário), ou zero se nenhuma
|
typsend regproc
(referencia pg_proc.oid)
Função de conversão da saída (formato binário), ou zero se nenhuma
|
typmodin regproc
(referencia pg_proc.oid)
Função de entrada do modificador do tipo de dados, ou zero se
o tipo de dados não oferecer suporte a modificadores
|
typmodout regproc
(referencia pg_proc.oid)
Função de saída do modificador do tipo de dados, ou zero para
usar o formato padrão
|
typanalyze regproc
(referencia pg_proc.oid)
Função ANALYZE personalizada,
ou zero para usar a função padrão
|
typalign char
typalign é o alinhamento requerido ao
armazenar um valor desse tipo de dados.
Aplica-se ao armazenamento em disco, bem como à maioria das
representações do valor interno no
PostgreSQL.
Quando vários valores são armazenados consecutivamente, como na
representação de uma linha completa no disco, o preenchimento é
inserido antes de um dado desse tipo de dados para que ele
comece no limite especificado.
A referência de alinhamento é o início do primeiro dado na
sequência.
Os valores possíveis são:
c = alinhamento char,
ou seja, nenhum alinhamento é necessário.
s = alinhamento short
(2 bytes na maioria das máquinas).
i = alinhamento int
(4 bytes na maioria das máquinas).
d = alinhamento double
(8 bytes na maioria das máquinas, mas de forma alguma em todas).
|
typstorage char
typstorage informa para tipos de dados
varlena (aqueles com typlen
= -1) se o tipo de dados está preparado para “TOAST”,
e qual deve ser a estratégia padrão para atributos desse tipo de dados.
Os valores possíveis são:
p (plain):
Os valores devem ser sempre armazenados de forma pura (tipos
de dados não varlena sempre usam este valor).
e (external):
Os valores podem ser armazenados em uma relação secundária
“TOAST” (se a relação tiver uma, veja
pg_class.reltoastrelid).
m (main):
Os valores podem ser comprimidos e armazenados em-linha.
x (extended):
Os valores podem ser comprimidos e/ou movidos para uma relação
secundária.
x é a escolha usual para aqueles tipos de dados
que podem ser TOAST-ados.
Note que os valores m também podem ser movidos
para o armazenamento secundário, mas apenas como último recurso
(os valores e e x são
movidos primeiro).
|
typnotnull bool
typnotnull representa uma restrição
de não-nulo em um tipo de dados. Usado somente para domínios.
|
typbasetype oid
(referencia pg_type.oid)
Se for um domínio (veja typtype),
então typbasetype irá identificar o
tipo de dados no qual ele se baseia.
Zero se o tipo de dados não for um domínio.
|
typtypmod int4
Os domínios usam typtypmod para
registrar o typmod a ser aplicado ao seu
tipo de dados base
(-1 se o tipo de dados base não usar typmod).
-1 se o tipo de dados não for um domínio.
|
typndims int4
typndims é o número de dimensões da
matriz para um domínio sobre uma matriz
(ou seja, typbasetype é um tipo de
dados matriz).
Zero para tipos de dados diferentes de domínios sobre tipos de
dados matriz.
|
typcollation oid
(referencia pg_collation.oid)
typcollation especifica a ordenação
do tipo de dados.
Se o tipo de dados não der suporte a ordenações, será zero.
Um tipo de dados base que der suporte a ordenações terá um valor
diferente de zero aqui, normalmente
DEFAULT_COLLATION_OID.
Um domínio sobre um tipo de dados ordenável pode ter um OID
de ordenação diferente do seu tipo de dados base, se algum tiver
sido especificado para o domínio.
|
typdefaultbin pg_node_tree
Se typdefaultbin não for nulo, este
campo será a representação nodeToString()
da expressão padrão para o tipo de dados.
Só é usado para domínios.
|
typdefault text
typdefault será nulo se o tipo de dados
não tiver valor padrão associado.
Se typdefaultbin não for nulo,
typdefault deverá conter uma versão
legível por humanos da expressão padrão representada por
typdefaultbin.
Se typdefaultbin for nulo e
typdefault não for, então
typdefault será a representação
externa do valor padrão do tipo de dados, que pode ser
enviado ao conversor de entrada do tipo de dados para
produzir uma constante.
|
typacl aclitem[]
Privilégios de acesso;
veja Privilégios para obter detalhes
|