Re: [pgsql-fr-generale] Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication

From: Sébastien Lardière <sebastien(at)lardiere(dot)net>
To: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re: [pgsql-fr-generale] Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication
Date: 2007-10-15 08:41:11
Message-ID: 471327A7.7080702@lardiere.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-fr-generale

Laurent ROCHE a écrit :
> Bonjour,
>
> Je développe également une solution de réplication (trés asynchrone)
> en utilisant des triggers pour "logger" les changements et les envoyer
> ensuite aux systèmes distants (cf.
> http://archives.postgresql.org/pgsql-fr-generale/2007-10/msg00000.php).
>
> Je suis confronté au même problème (ne pas renvoyer -par les triggers-
> les données que l'on vient de recevoir).
> J'aime bien cette solution (dropper/désactiver les triggers),
> cependant une chose m'intrigue dans cette solution : si je droppe ou
> désactive les triggers, les modifications des utilisateurs pendant cet
> intervalle ne seront plus "loggés" ! ? !
> Ou bien, est ce que les drop/désactivation sont à l'intérieur d'une
> transaction qui recrée/réactive les triggers à la fin ?
> Je ne pensais pas que ce genre d'opération pouvait être géré à
> l'intérieur d'une transaction.
Les ordres de désactivation des déclencheurs respectent bien sûr les
propriétés ACID de PostgreSQL, ce qui fait que la désactivation d'un
déclencheur au sein d'une transaction (bloc BEGIN ; COMMIT ;) ne se
"voit" pas à l'exterieur de la transaction, grâçe à l'isolation (le I de
ACID).

Lorsque la transaction est validée (COMMIT;), le déclencheur est
désactivée pour tout le monde, selon le niveau d'isolation. Il suffit de
le ré-activer au sein de la transaction pour rendre l'opération
transparente.

Les DDLs sont compatibles ACID dans PostgreSQL.

--
Sébastien

In response to

Responses

Browse pgsql-fr-generale by date

  From Date Subject
Next Message William Dode 2007-10-15 10:08:07 Re: Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication
Previous Message Laurent ROCHE 2007-10-15 08:37:24 Tr : Re : [pgsql-fr-generale] Système de réplication très asynchrone ?