Désactiver et activer tous les triggers d'une table PostgreSql

PostgreSQL

Lors des opérations de maintenance d'une base de données PostgreSQL, il peut parfois êtres nécessaire ou très utile de pouvoir désactiver les triggers (déclencheurs) d'une table en particulier.

Il est bien sur possible de la supprimer pour les après l'opération recréer mais cette opération peut s'avérer longue et dangereuse.

La solution consiste alors à les désactiver puis les réactiver une fois l'opération de maintenance SQL terminée

Désactiver tous les trigger d'une table PostgreSQL

Si intervient sur une table t_facture et qu'on souhaite désactiver tous les triggers de cette table on tapera donc :

ALTER TABLE t_facture DISABLE TRIGGER ALL;

Ré-Activer tous les trigger d'une table PostgreSQL

Bien sur si a a besoin de réactiver les triggers de notre table t_facture il suffit d’exécuter la requête ci dessous :

ALTER TABLE t_facture ENABLE TRIGGER ALL;

Par Christophe HIRON
11 février 2020