oid oid
Identifiant de ligne
|
typname name
Nom du type
|
typnamespace oid
(référence pg_namespace .oid )
OID du namespace qui contient le type
|
typowner oid
(référence pg_authid .oid )
Propriétaire du type
|
typlen int2
Pour les types de taille fixe, typlen est le
nombre d'octets de la représentation interne du type. Mais pour les types
de longueur variable, typlen est négatif.
-1 indique un type « varlena » (qui a un attribut de longueur),
-2 indique une chaîne C terminée par le caractère NULL.
|
typbyval bool
typbyval détermine si les routines internes
passent une valeur de ce type par valeur ou par référence.
typbyval doit être faux si
typlen ne vaut pas 1, 2 ou 4 (ou 8 sur les
machines dont le mot-machine est de 8 octets). Les types de longueur
variable sont toujours passés par référence.
typbyval peut être faux même si la longueur
permet un passage par valeur.
|
typtype char
typtype vaut b pour un
type de base, c pour un type composite
(le type d'une ligne de table, par exemple),
d pour un domaine,
e pour un enum,
p pour un pseudo-type,
r pour un type range ou
m pour un type multirange.
Voir aussi typrelid et
typbasetype .
|
typcategory char
typcategory est une classification arbitraire
de types de données qui est utilisée par l'analyseur pour déterminer
la conversion implicite devant être « préférée ». Voir
Tableau 51.65
|
typispreferred bool
Vrai si ce type est une cible de conversion préférée dans sa
typcategory
|
typisdefined bool
Vrai si le type est défini et faux s'il ne s'agit que d'un conteneur
pour un type qui n'est pas encore défini. Lorsque
typisdefined est faux, rien, à part le nom du
type, le namespace et l'OID, n'est fiable.
|
typdelim char
Caractère qui sépare deux valeurs de ce type lorsque le programme
lit les valeurs d'un tableau en entrée. Le délimiteur est
associé au type d'élément du tableau, pas au type tableau.
|
typrelid oid
(référence pg_class .oid )
S'il s'agit d'un type composite (voir
typtype ), alors cette colonne pointe vers la
ligne de pg_class qui définit la table
correspondante. Pour un type composite sans table, l'entrée dans
pg_class ne représente pas vraiment une table,
mais elle est néanmoins nécessaire pour trouver les lignes de
pg_attribute liées au type. 0 pour les types
autres que composites.
|
typsubscript regproc
(référence pg_proc .oid )
OID de la fonction du gestionnaire des indices, ou zéro si ce type ne
supporte pas les indices. Les types qui sont des vrais types tableau
ont typsubscript =
array_subscript_handler , mais les autres types
pourraient avoir d'autres fonctions de gestion pour implémenter le
comportement spécialisé d'indices.
|
typelem oid
(référence pg_type .oid )
Si typelem est différent de zéro, alors il
identifie une autre ligne de pg_type ,
définissant le type renvoyé par indice. Ceci devrait valoir zéro si
typsubscript vaut zéro. Néanmoins, il peut
valoir zéro quand typsubscript ne vaut pas
zéro, si le gestionnaire n'a pas besoin de
typelem pur déterminer le type de résultat
avec indice. Notez qu'une dépendance
typelem est considéré impliqué un contenu
physique du type élément dans ce type ; donc les modifications DDL
sur le type élément pourrait être restreint par la présence de ce
type.
|
typarray oid
(référence pg_type .oid )
Si typarray est différent de zéro, alors il
identifie une autre ligne dans pg_type , qui est
le type tableau « true » disposant de ce type en élément.
|
typinput regproc
(référence pg_proc .oid )
Fonction de conversion en entrée (format texte)
|
typoutput regproc
(référence pg_proc .oid )
Fonction de conversion en sortie (format texte)
|
typreceive regproc
(référence pg_proc .oid )
Fonction de conversion en entrée (format binaire),
ou zéro s'il n'y en a pas
|
typsend regproc
(référence pg_proc .oid )
Fonction de conversion en sortie (format binaire),
ou zéro s'il n'y en a pas
|
typmodin regproc
(référence pg_proc .oid )
Fonction en entrée de modification du type ou zéro si le type ne
supporte pas les modificateurs
|
typmodout regproc
(référence pg_proc .oid )
Fonction en sortie de modification du type ou zéro pour utiliser le
format standard
|
typanalyze regproc
(référence pg_proc .oid )
Fonction ANALYZE personnalisée ou zéro pour
utiliser la fonction standard
|
typalign char
typalign est l'alignement requis pour stocker
une valeur de ce type. Cela s'applique au stockage sur disque ainsi
qu'à la plupart des représentations de cette valeur dans
PostgreSQL.
Lorsque des valeurs multiples sont stockées consécutivement, comme dans
la représentation d'une ligne complète sur disque, un remplissage est
inséré avant la donnée de ce type pour qu'elle commence à l'alignement
indiqué. La référence de l'alignement est le début de la première donnée
de la séquence. Les valeurs possibles sont :
c = alignement char ,
aucun alignement n'est nécessaire ;
s = alignement short (deux octets sur la
plupart des machines) ;
i = alignement int (quatre octets sur la
plupart des machines) ;
d = alignement double (huit octets sur
la plupart des machines, mais pas sur toutes).
|
typstorage char
typstorage indique, pour les types varlena
(ceux pour lesquels typlen = -1), si le type
accepte le TOASTage et la stratégie par défaut à utiliser pour les
attributs de ce type. Les valeurs possibles sont :
p
(plain) : la valeur doit être
stockée normalement (les types scalaires utilisent toujours cette
valeur) ;
e (external :
la valeur peut être stockée dans une relation
« secondaire » « TOAST » (si la relation en a
une, voir pg_class.reltoastrelid ) ;
m
(main) : la valeur peut être
stockée compressée sur place ;
x
(extended) : la valeur peut être
stockée compressée sur place ou stockée dans une relation
« secondaire ».
x est le choix habituel pour les types de données
utilisant les TOAST.
Les colonnes m peuvent aussi être déplacées dans
une table de stockage secondaire, mais seulement en dernier recours
(les colonnes e et x sont
déplacées les premières).
|
typnotnull bool
Représente une contrainte non NULL.
|
typbasetype oid
(référence pg_type .oid )
S'il s'agit d'un domaine (voir typtype ),
alors typbasetype identifie le type sur
lequel celui-ci est fondé. 0 s'il ne s'agit pas d'un domaine.
|
typtypmod int4
Les domaines utilisent ce champ pour
enregistrer le typmod à appliquer à leur type de base (-1 si
le type de base n'utilise pas de typmod ). -1 si ce type
n'est pas un domaine.
|
typndims int4
Le nombre de dimensions de
tableau pour un domaine sur un tableau (c'est-à-dire dont
typbasetype est un type tableau). 0 pour les
types autres que les domaines sur des types tableaux.
|
typcollation oid
(référence pg_collation .oid )
typcollation spécifie le collationnement
du type. Si le type ne supporte pas les collationnemens, cette
colonne vaut zéro. Un type de base qui supporte les collationnements
aura une valeur différente de zéro, habituellement
DEFAULT_COLLATION_OID ici. Un domaine sur
un type collationnable peut avoir un OID de collationnement différent de celui du
type de base
si ce dernier a été précisé pour le domaine.
|
typdefaultbin pg_node_tree
Si typdefaultbin n'est pas NULL, ce champ est la
représentation nodeToString() d'une expression par
défaut pour le type. Ceci n'est utilisé que pour les domaines.
|
typdefault text
NULL si le type n'a pas de valeur par
défaut associée. Si typdefaultbin est non NULL,
ce champ doit contenir une version lisible de
l'expression par défaut représentée par typdefaultbin .
Si typdefaultbin est NULL et si
ce champ ne l'est pas, alors il stocke la représentation externe de la valeur par
défaut du type, qui peut être passée à la fonction de conversion en
entrée du type pour produire une constante.
|
typacl aclitem[]
Droits d'accès ; voir Section 5.8
pour les détails
|