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
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 ? |