Type: enum
Défaut: origin
Contexte: superuser
Redémarrer: false
Valeurs: [origin, replica, local]

Contrôle l'exécution des triggers et règles relatifs à la réplication pour la session en cours. Seul un superutilisateur peut configurer cette variable. Sa modification résulte en l'annulation de tout plan de requête précédemment mis en cache. Les valeurs possibles sont origin (la valeur par défaut), replica et local.

L'utilisation prévue de ce paramètre est que les systèmes de réplication logique le passent à replica quand ils répliquent des changements. L'effet sera que les triggers et les règles (quand on n'a pas modifié la configuration par défaut) ne se déclencheront pas sur la réplique. Voir les clauses sql-altertableENABLE TRIGGER et ENABLE RULE pour plus d'informations.

En interne, PostgreSQL traite de la même manière les paramètres origin et local. Les systèmes de réplication tiers peuvent utiliser ces deux valeurs pour leurs besoins internes, par exemple en utilisant local pour désigner la session dont les changements ne seront pas répliqués.

Puisque les clés étrangères sont implémentées comme des triggers, passer ce paramètre à replica désactive aussi toutes les vérifications de clés étrangères, ce qui peut laisser les données dans un état incohérent en cas d'utilisation inappropriée.

Recommandations [EN]

Only gets changed for databases which are taking part in a replication chain. In that case, "origin" servers fire replication (and other) triggers, and "replica" do not. Part of the generic replication hooks which are used by Slony and Bucardo.

Commentaires