Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 43. Catalogues syst�me | Avance rapide | Suivant |
Le catalogue pg_type stocke les informations sur les types de donn�es. Les types de base (types scalaires) sont cr��s avec la commande CREATE TYPE. Un type composite est cr�� automatiquement pour chaque table de la base et repr�senter ainsi la structure des lignes de la table. Il est aussi possible de cr�er des types composites avec CREATE TYPE AS et des domaines avec CREATE DOMAIN.
Tableau 43-29. Colonnes de pg_type
Nom | Type | R�f�rences | Description |
---|---|---|---|
typname | name | Nom du type | |
typnamespace | oid | pg_namespace .oid | OID de l'espace de noms qui contient ce type. |
typowner | int4 | pg_shadow .usesysid | 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. Notez que typbyval peut �tre faux m�me si la longueur permettrait un passage par valeur ; c'est le cas pour le type float4, par exemple. | |
typtype | char | typtype vaut b pour un type de base, c pour un type composite (c'est-�-dire le type d'une ligne de table), d pour un domaine ou p pour un pseudo-type. Voir aussi typrelid et typbasetype. | |
typisdefined | bool | Vrai si le type est d�fini et faux s'il ne s'agit que d'un remplissage pour un type qui n'est pas encore d�fini. Lorsque typisdefined est faux, rien � part le nom du type, l'espace de noms 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. Notez que le d�limiteur est associ� au type d'�l�ment du tableau, pas au type tableau. | |
typrelid | oid | 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. Z�ro pour les types de base. |
typelem | oid | pg_type .oid | Si typelem ne vaut pas 0, alors il identifie une autre ligne de pg_type. Le type courant peut alors �tre utilis� comme un tableau contenant des valeurs de type typelem. Un <<�vrai�>> type tableau a une longueur variable (typlen = -1), mais certains types de longueur fixe (typlen > 0) ont aussi un typelem non nul, par exemple name et oidvector. Si un type de longueur fixe a un typelem, alors sa repr�sentation interne doit �tre un certain nombre de valeurs de ce type typelem, sans autre donn�e. Les types de donn�es tableau de taille variable ont un en-t�te d�fini par les sous-routines de tableau. |
typinput | regproc | pg_proc .oid | Fonction de conversion en entr�e (format texte). |
typoutput | regproc | pg_proc .oid | Fonction de conversion en sortie (format texte). |
typreceive | regproc | pg_proc .oid | Fonction de conversion en entr�e (format binaire), ou 0 s'il n'y en a pas |
typsend | regproc | pg_proc .oid | Fonction de conversion en sortie (format binaire), ou 0 s'il n'y en a pas |
typalign | char | typalign est l'alignement requis pour stocker une valeur de ce type. Cela s'applique au stockage sur disque aussi bien 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 sp�cifi�. 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 :
| |
typstorage | char | typstorage indique, pour les types varlena (ceux pour lesquels typlen = -1), si le type est pr�par� pour le TOASTage et quelle strat�gie par d�faut doit �tre utilis�e pour les attributs de ce type. Les valeurs possibles sont :
Notez que 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 d'abord). | |
typnotnull | bool | typnotnull repr�sente une contrainte non NULL pour ce type. Ceci n'est utilis� que pour les domaines. | |
typbasetype | oid | pg_type .oid | S'il s'agit d'un domaine, (voir typtype), alors typbasetype identifie le type sur lequel celui-ci est bas�. Z�ro s'il ne s'agit pas d'un domaine. |
typtypmod | int4 | Les domaines utilisent typtypmod 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 | typndims est le nombre de dimensions de tableau pour un domaine qui est un tableau (c'est-�-dire dont typbasetype est un type tableau ; le typelem du domaine correspondra au typelem du type de base). Z�ro pour les types autres que les domaines tableaux. | |
typdefaultbin | text | Si typdefaultbin n'est pas NULL, ce champ est la
repr�sentation | |
typdefault | text | typdefault est NULL si le type n'a pas de valeur par d�faut associ�e. Si typdefaultbin est non NULL, typdefault doit contenir une version lisible de l'expression par d�faut repr�sent�e par typdefaultbin. Si typdefaultbin est NULL et si typdefault ne l'est pas, alors typdefault est 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. |
Pr�c�dent | Sommaire | Suivant |
pg_trigger | Niveau sup�rieur | Vues syst�me |