pg_trigger
#
Le catalogue pg_trigger
stocke les informations
concernant les triggers des tables et des vues. Voir la commande
CREATE TRIGGER
pour plus d'informations.
Tableau 51.58. Colonnes de pg_trigger
Type Description |
---|
Identifiant de ligne |
Table sur laquelle porte le trigger |
Trigger parent à partir duquel ce trigger est cloné (ceci survient quand les partitions sont créées ou attachées à une table partitionnée), zéro si ce n'est pas un clone. |
Nom du trigger (doit être unique parmi les triggers d'une table) |
Fonction à appeler |
Masque de bits identifiant les conditions de déclenchement |
Contrôle l'exécution du trigger suivant le mode session_replication_role.
|
Vrai si le trigger est généré en interne (habituellement pour
forcer la contrainte identifiée par
|
La table référencée par une contrainte d'intégrité référentielle (zéro si le trigger n'a pas pour but une contrainte d'intégrité référentielle) |
L'index supportant une contrainte unique, clé primaire, clé d'intégrité référentielle, contrainte d'exclusion (zéro si le trigger ne concerne pas un de ces types de contrainte) |
L'entrée |
Vrai si le trigger contrainte est retardable |
Vrai si le trigger de contrainte est initialement retardé |
Nombre de chaînes d'arguments passées à la fonction du trigger |
numéros de colonne, si le trigger est spécifique à la colonne ; sinon un tableau vide |
Chaînes d'arguments à passer au trigger, chacune terminée par un NULL |
Arbre d'expression (d'après la représentation de
|
Nom de la clause |
Nom de la clause |
Actuellement, les triggers spécifiques par colonne sont supportés seulement
pour les événements UPDATE
et, du coup,
tgattr
est valable seulement pour ce type
d'événements. tgtype
pourrait contenir des
informations pour d'autres types d'événement mais ils sont supposés valides
pour la table complète, quel que soit le contenu de
tgattr
.
Quand tgconstraint
est différent de zéro,
tgconstrrelid
,
tgconstrindid
,
tgdeferrable
et
tginitdeferred
sont grandement redondants avec
l'entrée référencée de pg_constraint
.
Néanmoins, il
est possible qu'un trigger non déferrable soit associé à une contrainte
déferrable : les contraintes de clé étrangère peuvent avoir quelques
triggers déferrables et quelques triggers non déferrables.
pg_class.relhastriggers
doit valoir true si la relation
possède au moins un trigger dans ce catalogue.