debutante fille postgres transactions dblinks

debutante fille postgres transactions dblinks - SQL/NoSQL - Programmation

Marsh Posté le 10-05-2005 à 09:27:45    

Bonjour, :hello:
Je suis une jeune étudiante polonaise à la recherche de son sauveur qui la sortira d'un bien mauvais pas.
Je suis en train de jongler avec joie et volupté avec les dblinks.  [:fastclemmy]  
Or, mon soucis, et de pouvoir gérer les transactions... En effet, si je fais un BEGIN puis une requête via un dblink, si jamais je décide de faire un ROLLBACK (ou toute autre configuration de transaction avortée), ce que j'ai fait via mon dblink reste valide...
Et bon... comment dire... ce n'est pas exactement un cas de figure qui m'invite à danser la polka. [:bigoudi33]  
Si quelqu'un à de l'experience dans le domaine, ou des idées géniales, je suis preneuse.
Merci bande de beaux garçons :hello:

Reply

Marsh Posté le 10-05-2005 à 09:27:45   

Reply

Marsh Posté le 10-05-2005 à 09:47:11    

Il te faut un moniteur de transaction séparé ?
 
je trouve pas de doc sur dblink avec google, tu peux me filer un lien stp ?


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 09:58:57    

la magnifique et complète documentation peut se trouver ici:
http://developer.postgresql.org/do [...] blink/doc/

Reply

Marsh Posté le 10-05-2005 à 10:00:43    

Citation :

la magnifique et complète documentation peut se trouver ici:  
http://developer.postgresql.org/do [...] blink/doc/


 
Je dirais même plus...Magnifique

Reply

Marsh Posté le 10-05-2005 à 10:03:05    

y'a pas de nested transaction sous pgsql ?


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Marsh Posté le 10-05-2005 à 10:04:51    

Harkonnen a écrit :

y'a pas de nested transaction sous pgsql ?


si, avec la v8, sinon c'est implicite, dans les triggers notamment.

Reply

Marsh Posté le 10-05-2005 à 10:10:13    

Sinon, pour la question initiale, je sais pas trop, j'ai jamais du jouer avec dblink mais quand j'avais jeté un oeil dessus, ça m'avait semblé assez... primaire comme outil.
 
T'as déjà essayé sur la ML SQL de postgres?

Reply

Marsh Posté le 10-05-2005 à 10:12:59    

Citation :

dblink_open starts an explicit transaction. If, after using dblink_open,
     you use dblink_exec to change data, and then an error occurs or you use
     dblink_disconnect without a dblink_close first, your change *will* be
     lost.


http://developer.postgresql.org/do [...] oc/execute
 
je soupçonne que ça veut dire que la transaction est pas distribuée.
 
tu peux peut-être bidouiller une "transaction de compensation" qui consiste à faire la transaction inverse en cas de rollback sur l'autre base (insert->delete, update->update avec les anciennes données etc.).
Sachant que sur une transaction de compensation, si la compensation échoue, tu es dans le mur.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 10:16:43    

Harkonnen a écrit :

y'a pas de nested transaction sous pgsql ?


ça n'a rien à voir. ici on est dans le domaine de 2-PC et 3-PC.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 10:17:04    

Citation :


dblink_open -- Opens a cursor on a remote database


Je l'ai donc dans l'os pour ce qui concerne les dblink_exec...
Sur la mailing list de postgres on me répond:

Citation :


Il faut que l'une des 2 bases de données soit configurée pour supporter les transactions de type XA. (!= AX qui est la valeur par défaut).


Maintenant, il faut que je comprenne ce que ça veut dire et comment mettre ça en place.

Reply

Marsh Posté le 10-05-2005 à 10:17:04   

Reply

Marsh Posté le 10-05-2005 à 10:28:05    

oui, XA c'est le protocole de transactions distribuées 2-PC. c'est bon ça coco.
http://www.orafaq.com/glossary/faqglosx.htm


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 10:34:28    

Jusque là ça va je comprend bien le truc...
Par contre c'est le coté configurer une des bases qui m'échappe... Je n'ai rien trouvé sur XA/AX dans la doc...

Reply

Marsh Posté le 10-05-2005 à 10:37:02    

merde, parce qu'en plus il y a forcément un moniteur dans 2-PC, je suppose que ça peut être une des 2 bases. Mais effectivement, il doit falloir dire à l'une qu'elle est monitrice 2PC et à l'autre de se tenir aux ordres. Mais là c'est que du théorique.


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 10:44:33    

Citation :

2-phase commit are planned for version 8.1


http://www.geocities.com/mailsoftware42/db/


---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 10:46:30    

Moktar1er a écrit :

la magnifique et complète documentation peut se trouver ici:
http://developer.postgresql.org/do [...] blink/doc/


 
[:ciler]


---------------
IVG en france
Reply

Marsh Posté le 10-05-2005 à 14:06:38    

Chez Oracle apparement on a bossé dessus:
http://www.orafaq.com/faqxa.htm

Reply

Marsh Posté le 10-05-2005 à 14:27:17    

Moktar1er a écrit :

Chez Oracle apparement on a bossé dessus:
http://www.orafaq.com/faqxa.htm


c'est obligatoire si tu veux connecter ton serveur d'application à ta BDD.
 
 
edit : surtout si tu as aussi des systèmes historiques avec lesquels tu t'intègres.


Message édité par nraynaud le 10-05-2005 à 14:28:07

---------------
trainoo.com, c'est fini
Reply

Marsh Posté le 10-05-2005 à 14:39:01    

Bon... En vrac: idées, commentaires et solutions sur XA et 2PC
http://www.theserverside.com/news/ [...] d_id=28445

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed