oid oid
Identificador de fila
|
typname name
Nombre del tipo de datos
|
typnamespace oid
(hace referencia a pg_namespace.oid)
El OID del espacio de nombres que contiene este tipo
|
typowner oid
(hace referencia a pg_authid.oid)
Propietario del tipo
|
typlen int2
Para un tipo de tamaño fijo, typlen es el número
de bytes en la representación interna del tipo. Pero para un tipo de
longitud variable, typlen es negativo.
-1 indica un tipo “varlena” (uno que tiene una palabra de longitud),
-2 indica una cadena de caracteres de C terminada en nulo.
|
typbyval bool
typbyval determina si las rutinas internas
pasan un valor de este tipo por valor o por referencia.
Es mejor que typbyval sea falso si
typlen no es 1, 2 o 4 (u 8 en máquinas
donde Datum es de 8 bytes).
Los tipos de longitud variable siempre se pasan por referencia. Ten en cuenta que
typbyval puede ser falso incluso si la
longitud permitiría el paso por valor.
|
typtype char
typtype es
b para un tipo base,
c para un tipo compuesto (por ejemplo, el tipo de fila de una tabla),
d para un dominio,
e para un tipo enumerado,
p para un pseudotipo,
r para un tipo de rango, o
m para un tipo de multirango.
Consulta también typrelid y
typbasetype.
|
typcategory char
typcategory es una clasificación arbitraria
de tipos de datos que utiliza el analizador para determinar qué conversiones
implícitas (casts) deberían ser “preferidas”.
Consulta Table 52.65.
|
typispreferred bool
Verdadero si el tipo es un objetivo de conversión preferido dentro de su
typcategory
|
typisdefined bool
Verdadero si el tipo está definido, falso si es una entrada de marcador
de posición para un tipo aún no definido. Cuando
typisdefined es falso, no se puede confiar
en nada excepto en el nombre del tipo, el espacio de nombres y el OID.
|
typdelim char
Carácter que separa dos valores de este tipo al analizar la entrada de
un array. Ten en cuenta que el delimitador está asociado con el tipo de
datos del elemento del array, no con el tipo de datos del array.
|
typrelid oid
(hace referencia a pg_class.oid)
Si este es un tipo compuesto (ver
typtype), entonces esta columna apunta a
la entrada de pg_class que define la
tabla correspondiente. (Para un tipo compuesto independiente, la
entrada de pg_class realmente no representa
una tabla, pero se necesita de todos modos para enlazar las entradas de
pg_attribute del tipo).
Cero para tipos no compuestos.
|
typsubscript regproc
(hace referencia a pg_proc.oid)
El OID de la función manejadora de subíndices, o cero si este tipo no
admite subíndices. Los tipos que son tipos de array “verdaderos”
tienen typsubscript
= array_subscript_handler, pero otros tipos pueden
tener otras funciones manejadoras para implementar comportamientos de subíndices
especializados.
|
typelem oid
(hace referencia a pg_type.oid)
Si typelem no es cero, identifica otra
fila en pg_type, que define el tipo obtenido
mediante el uso de subíndices. Esto debería ser cero si
typsubscript es cero. Sin embargo, puede ser
cero cuando typsubscript no es cero, si el
manejador no necesita de typelem para determinar
el tipo del resultado del subíndice.
Ten en cuenta que se considera que una dependencia de typelem
implica la contención física del tipo de elemento en este tipo; por lo tanto,
los cambios de DDL en el tipo de elemento podrían estar restringidos
por la presencia de este tipo.
|
typarray oid
(hace referencia a pg_type.oid)
Si typarray no es cero, identifica otra
fila en pg_type, que es el tipo de array
“verdadero” que tiene a este tipo como elemento
|
typinput regproc
(hace referencia a pg_proc.oid)
Función de conversión de entrada (formato de texto)
|
typoutput regproc
(hace referencia a pg_proc.oid)
Función de conversión de salida (formato de texto)
|
typreceive regproc
(hace referencia a pg_proc.oid)
Función de conversión de entrada (formato binario), o cero si no hay
|
typsend regproc
(hace referencia a pg_proc.oid)
Función de conversión de salida (formato binario), o cero si no hay
|
typmodin regproc
(hace referencia a pg_proc.oid)
Función de entrada del modificador de tipo, o cero si el tipo no admite modificadores
|
typmodout regproc
(hace referencia a pg_proc.oid)
Función de salida del modificador de tipo, o cero para utilizar el formato estándar
|
typanalyze regproc
(hace referencia a pg_proc.oid)
Función ANALYZE personalizada,
o cero para utilizar la función estándar
|
typalign char
typalign es la alineación requerida
al almacenar un valor de este tipo. Se aplica tanto al almacenamiento en
disco como a la mayoría de las representaciones del valor dentro de
PostgreSQL.
Cuando se almacenan varios valores de forma consecutiva, como en la
representación de una fila completa en el disco, se inserta un relleno
(padding) antes del dato de este tipo para que comience en el límite
especificado. La referencia de alineación es el comienzo del primer dato
de la secuencia.
Los valores posibles son:
Alineación c = char, es decir, no se necesita alineación. Alineación s = short (2 bytes en la mayoría de las máquinas). Alineación i = int (4 bytes en la mayoría de las máquinas). Alineación d = double (8 bytes en muchas máquinas, pero no en todas).
|
typstorage char
typstorage indica para los tipos varlena
(aquellos con typlen = -1) si el tipo está
preparado para “toasting” y cuál debería ser la estrategia
predeterminada para los atributos de este tipo.
Los valores posibles son:
p (plain): Los valores siempre deben almacenarse
sin formato (los tipos que no son varlena siempre usan este valor).
e (external): Los valores se pueden almacenar en una
relación “TOAST” secundaria (si la relación tiene una, consulta
pg_class.reltoastrelid).
m (main): Los valores se pueden comprimir y almacenar
en línea (inline).
x (extended): Los valores se pueden comprimir y/o
mover a una relación secundaria.
x es la elección habitual para tipos que admiten TOAST.
Ten en cuenta que los valores m también pueden
trasladarse al almacenamiento secundario, pero solo como último recurso
(los valores e y x se mueven primero).
|
typnotnull bool
typnotnull representa una restricción de no
nulo (not-null) en un tipo. Se usa solo para dominios.
|
typbasetype oid
(hace referencia a pg_type.oid)
Si este es un dominio (ver typtype), entonces
typbasetype identifica el tipo en el que se
basa. Cero si este tipo no es un dominio.
|
typtypmod int4
Los dominios usan typtypmod para registrar el
typmod que se aplicará a su tipo base (-1 si el
tipo base no usa un typmod). -1 si este tipo no
es un dominio.
|
typndims int4
typndims es el número de dimensiones del array
para un dominio sobre un array (es decir, typbasetype es
un tipo de array).
Cero para tipos que no sean dominios sobre tipos de array.
|
typcollation oid
(hace referencia a pg_collation.oid)
typcollation especifica la intercalación
(collation) del tipo. Si el tipo no admite intercalaciones, será cero.
Un tipo base que admita intercalaciones tendrá un valor distinto de cero aquí,
típicamente DEFAULT_COLLATION_OID.
Un dominio sobre un tipo intercalable puede tener un OID de intercalación diferente
al de su tipo base, si se especificó uno para el dominio.
|
typdefaultbin pg_node_tree
Si typdefaultbin no es nulo, es la representación
nodeToString() de una expresión predeterminada para el tipo.
Esto solo se usa para dominios.
|
typdefault text
typdefault es nulo si el tipo no tiene un valor
predeterminado asociado. Si typdefaultbin no es nulo,
typdefault debe contener una versión legible por humanos
de la expresión predeterminada representada por typdefaultbin.
Si typdefaultbin es nulo y typdefault no
lo es, entonces typdefault es la representación externa
del valor predeterminado del tipo, que se puede pasar al convertidor de entrada
del tipo para producir una constante.
|
typacl aclitem[]
Privilegios de acceso; consulta Section 5.8 para obtener detalles
|