| Documentation PostgreSQL 7.4.29 | ||||
|---|---|---|---|---|
| Précédent | Arrière rapide | Chapitre 43. Catalogues système | Avance rapide | Suivant |
Le catalogue pg_constraint stocke les vérifications, clés primaires, clés uniques et étrangères des tables (Les contraintes de colonnes ne sont pas traitées de manière particulière. Elles sont équivalentes à des contraintes de tables.) Les contraintes NOT NULL sont représentées dans le catalogue pg_attribute.
Les contraintes de vérification de domaine sont aussi stockées ici.
Tableau 43-10. Colonnes de pg_constraint
| Nom | Type | Références | Description |
|---|---|---|---|
| conname | name | Nom de la contrainte (pas nécessairement unique !) | |
| connamespace | oid | pg_namespace .oid | OID de l'espace de noms qui contient cette contrainte. |
| contype | char | c = contrainte de vérification, f = contrainte de clé étrangère, p = contrainte de clé primaire, u = contrainte de clé unique | |
| condeferrable | bool | La contrainte est-elle différable ? | |
| condeferred | bool | La contrainte est-elle différée par défaut ? | |
| conrelid | oid | pg_class.oid | Table à laquelle appartient la contrainte ; 0 si ce n'est pas une contrainte de table. |
| contypid | oid | pg_type .oid | Domaine auquel appartient la contrainte ; 0 si ce n'est pas une contrainte de domaine. |
| confrelid | oid | pg_class .oid | Si c'est une clé étrangère, la table référencée ; sinon 0 |
| confupdtype | char | Code de l'action de mise à jour de la clé étrangère | |
| confdeltype | char | Code de l'action de suppression de clé étrangère | |
| confmatchtype | char | Type de vérification de clé étrangère | |
| conkey | int2[] | pg_attribute .attnum | Si c'est une contrainte de table, liste des colonnes contraintes |
| confkey | int2[] | pg_attribute .attnum | Si c'est une clé étrangère, liste des colonnes référencées |
| conbin | text | S'il s'agit d'une contrainte de vérification, représentation interne de l'expression | |
| consrc | text | S'il s'agit d'une contrainte de vérification, représentation compréhensible de l'expression |
Note : consrc n'est pas mis à jour lors de modification d'objets référencés ; par exemple, il ne pistera pas les renommages de colonnes. Plutôt que se fier à ce champ, il est mieux d'utiliser
pg_get_constraintdef()pour extraire la définition d'une contrainte de vérification.
Note : pg_class.relchecks doit connaître le même nombre de contraintes de vérification pour chaque relation.
| Précédent | Sommaire | Suivant |
| pg_class | Niveau supérieur | pg_conversion |