triggers
   La vue triggers contient tous les triggers définis dans
   la base de données actuelles sur les tables et vues que l'utilisateur actuel
   possède ou sur lesquels il a d'autres droits que le SELECT.
  
Tableau 36.54. Colonnes de triggers
| Nom | Type de données | Description | 
|---|---|---|
trigger_catalog | sql_identifier | Nom de la base contenant le trigger (toujours la base de données actuelle) | 
trigger_schema | sql_identifier | Nom du schéma contenant le trigger | 
trigger_name | sql_identifier | Nom du trigger | 
event_manipulation | character_data | 
       Événement qui déclenche le trigger (INSERT,
       UPDATE ou DELETE)
       | 
event_object_catalog | sql_identifier | Nom de la base contenant la table où le trigger est défini (toujours la base de données actuelle) | 
event_object_schema | sql_identifier | Nom du schéma qui contient la table où le trigger est défini | 
event_object_table | sql_identifier | Nom de la table où le trigger est défini | 
action_order | cardinal_number | 
       Déclencher parmi les triggers sur la même table qui ont les mêmes
       event_manipulation, action_timing
       et action_orientation. Dans
       PostgreSQL, les triggers sont déclenchés
       dans l'ordre des noms, et cette colonne reflète cela.
       | 
action_condition | character_data | 
       La condition WHEN du trigger, NULL si aucun
       (NULL aussi si la table n'appartient pas à un rôle actuellement activé)
       | 
action_statement | character_data | 
       Instruction exécutée par le déclencheur (actuellement toujours
       EXECUTE FUNCTION
        )
       | 
action_orientation | character_data | 
       Indique si le déclencheur est exécuté une fois par ligne
       traitée ou une fois par instruction (ROW ou
       STATEMENT)
       | 
action_timing | character_data | 
       Moment où le trigger se déclenche (BEFORE,
       AFTER ou INSTEAD OF)
       | 
action_reference_old_table | sql_identifier | Nom de la table de transition « old », ou NULL sinon | 
action_reference_new_table | sql_identifier | Nom de la table de transition « new », ou NULL sinon | 
action_reference_old_row | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL | 
action_reference_new_row | sql_identifier | S'applique à une fonctionnalité non disponible dans PostgreSQL | 
created | time_stamp | S'applique à une fonctionnalité non disponible dans PostgreSQL | 
Les déclencheurs dans PostgreSQL ont deux incompatibilités avec le standard SQL qui affectent leur représentation dans le schéma d'information.
   Premièrement, les noms des déclencheurs sont locaux à chaque
   table sous PostgreSQL, et ne sont pas des objets
   du schéma indépendants. De ce fait, il peut exister des déclencheurs de même
   noms au sein d'un schéma, pour peu qu'ils s'occupent de tables différentes.
   (trigger_catalog et trigger_schema sont
   les champs qui décrivent effectivement la table sur laquelle est défini le
   déclencheur.)
  
   Deuxièmement, les déclencheurs peuvent être définis pour
   s'exécuter sur plusieurs événements sous
   PostgreSQL (c'est-à-dire ON INSERT OR
    UPDATE) alors que le standard SQL n'en autorise qu'un. Si un
   déclencheur est défini pour s'exécuter sur plusieurs événements, il est
   représenté sur plusieurs lignes dans le schéma d'information, une pour chaque
   type d'événement.
  
   En conséquence, la clé primaire de la vue triggers est en fait
   (trigger_catalog, trigger_schema, event_object_table,
    trigger_name, event_manipulation) et non (trigger_catalog,
    trigger_schema, trigger_name) comme le spécifie le standard SQL.
   Néanmoins, si les déclencheurs sont définis de manière conforme au
   standard SQL (des noms de déclencheurs uniques dans le schéma et un seul
   type d'événement par déclencheur), il n'y a pas lieu de se préoccuper de ces
   deux incompatibilités.
  
    Avant PostgreSQL 9.1, les colonnes
    action_timing,
    action_reference_old_table,
    action_reference_new_table,
    action_reference_old_row et
    action_reference_new_row de cette vue
    étaient nommées respectivement
    condition_timing,
    condition_reference_old_table,
    condition_reference_new_table,
    condition_reference_old_row et
    condition_reference_new_row. Cela
    reflétaient leur nommage dans le standard SQL:1999. Le nouveau
    nommage est conforme à SQL:2003 et les versions ultérieures.