Le catalogue pg_trigger stocke les informations concernant les déclencheurs des tables. Voir la commande CREATE TRIGGER pour plus d'informations.
Tableau 44.36. Colonnes de pg_trigger
Nom | Type | Références | Description |
---|---|---|---|
tgrelid | oid | pg_class.oid | Table sur laquelle porte le déclencheur |
tgname | name | Nom du déclencheur (doit être unique parmi les déclencheurs d'une table) | |
tgfoid | oid | pg_proc.oid | Fonction à appeler |
tgtype | int2 | Masque de bits identifiant les conditions du déclencheur | |
tgenabled | char | Contrôle l'exécution du trigger suivant le mode session_replication_role. O = le trigger se déclenche dans les modes « origin » et « local », D = le trigger est désactivé, R = le trigger s'exécute en mode « replica », A = le trigger s'exécute à chaque fois. | |
tgisconstraint | bool | Vrai si le déclencheur est un « trigger de contrainte » | |
tgconstrname | name | Nom de la contrainte s'il s'agit d'un « trigger de contrainte » | |
tgconstrrelid | oid | pg_class.oid | La table référencée par une contrainte d'intégrité référentielle |
tgconstraint | oid | pg_constraint.oid | L'entrée pg_constraint possédant le trigger, si elle existe |
tgdeferrable | bool | Vrai si le déclencheur contrainte est retardable | |
tginitdeferred | bool | Vrai si le déclencheur de contrainte est initialement retardé | |
tgnargs | int2 | Nombre de chaînes d'arguments passées à la fonction du déclencheur | |
tgattr | int2vector | Actuellement inutilisé | |
tgargs | bytea | Chaînes d'arguments à passer au déclencheur, chacune terminée par un NULL |
Quand tgconstraint est différent de zéro, tgisconstraint doit valoir true et tgconstrname, tgconstrrelid, tgdeferrable, tginitdeferred sont redondants avec l'entrée pg_constraint référencée. Ces champs sont conservés parce que les déclencheurs de contraintes « autonomes » sans entrée pg_constraint correspondante sont supportés.
pg_class.relhastriggers doit valoir true si la table possède au moins un trigger dans ce catalogue.