Vous n'êtes pas identifié(e).

#1 03/05/2012 14:20:47

Postgres.0
Membre

TWo phases commit

Bonjour,

j'insere une ligne dans une table situé sur une base B1. une fois que je valide le retour de pqsendquery, je supprime cette ligne d'une table située sur une base B2.
J'aimerai faire de ces deux transactions une seule transaction logique.
J'ai donc penser au Two phases commit, le problème c'est que je ne sais l'implementer.
Est-ce-que quelqu'un a une idée la dessus ou sur le protocole XA?

J'utilise la 8.4.


Cordialement

Hors ligne

#2 03/05/2012 23:27:57

gleu
Administrateur

Re : TWo phases commit

Qu'est-ce que vous entendez par une transaction logique ? si votre idée est d'encapsuler l'insert dans une base et le delete dans l'autre base, oubliez le two-phase commit car ce n'est pas prévu pour ça.


Guillaume.

Hors ligne

#3 12/05/2012 21:45:39

SQLpro
Membre

Re : TWo phases commit

gleu a écrit :

Qu'est-ce que vous entendez par une transaction logique ? si votre idée est d'encapsuler l'insert dans une base et le delete dans l'autre base, oubliez le two-phase commit car ce n'est pas prévu pour ça.

Et bien si, la validation à deux phases est justement prévu pour ce cas de figure... Le problème c'est qu'il faut un superviseur de transactions. Par exemple MS DTC si vous êtes dans l'univers Windows.
Mais le 2PC, n'est jamais garanti....
Lisez l'article que j'ai écrit à ce sujet : Le mythe du Commit à deux phases...

A +


Frédéric Brouard, alias SQLpro,  ARCHITECTE DE DONNÉES,  Expert langage SQL
Le site sur les SGBD relationnel et langage SQL   : http://sqlpro.developpez.com/
Modélisation de données, conseil, expertise, audit, optimisation, tuning, formation
* * * * *  Enseignant CNAM PACA, ISEN Toulon,  CESI Aix en Provence  * * * * *

Hors ligne

Pied de page des forums