Skip site navigation (1) Skip section navigation (2)

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

From: Laurent ROCHE <laurent_roche(at)yahoo(dot)com>
To: Sébastien Lardière <sebastien(at)lardiere(dot)net>
Cc: pgsql-fr-generale(at)postgresql(dot)org
Subject: Re : [pgsql-fr-generale] Re: [pgsql-fr-generale] Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication
Date: 2007-10-15 10:19:49
Message-ID: 257962.59380.qm@web34409.mail.mud.yahoo.com (view raw or flat)
Thread:
Lists: pgsql-fr-generale
Merci pour ces clarifications.

Je n'ai pas l'habitude que les ordres DDLs soit possibles dans une transaction mais il m'avait semblé avoir lu ça pour PostgreSQL, d'où ma question.

Du coup effectivement, la désactivation de triggers devient beaucoup plus simple.
 


Merci encore pour la réponse rapide et claire,
L(at)u
The Computing Froggy

----- Message d'origine ----
De : Sébastien Lardière <sebastien(at)lardiere(dot)net>
À : pgsql-fr-generale(at)postgresql(dot)org
Envoyé le : Lundi, 15 Octobre 2007, 10h41mn 11s
Objet : [pgsql-fr-generale] Re: [pgsql-fr-generale] Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication

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




---------------------------(end of
 broadcast)---------------------------
TIP 9: In versions below 8.0, the planner will ignore your desire to
       choose an index scan if your joining column's datatypes do not
       match






      _____________________________________________________________________________ 
Ne gardez plus qu'une seule adresse mail ! Copiez vos mails vers Yahoo! Mail 

pgsql-fr-generale by date

Next:From: Hajatiana RAHOLIARIJAONADate: 2007-10-25 06:44:04
Subject: Problème pg_dump
Previous:From: William DodeDate: 2007-10-15 10:08:07
Subject: Re: Re : [pgsql-fr-generale] desactivation des trigers pendant une réplication

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group