Search Postgresql Archives

Re: Two-phase commmit, plpgsql and plproxy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Feb 12, 2009 at 02:17:03AM +0300, Igor Katson wrote:
>>
>> PostgreSQL does not provide a transaction manager.
>>
>> When you are dealing with multiple databases, the transaction manager
>> needs to make decisions like "this transaction failed on one node,
>> therefore we need to roll all the other transactions back".
>>
>> I think you are basically trying to make plproxy into the transaction
>> manager. You might get some better suggestions from people who know
>> plproxy well.
>>   
> Thanks, Jeff. Googling smth like "postgresql transaction manager" does  
> not give any nice result. It seems, that the one just does not exist.  
> Hope, plproxy developers will answer smth. considering this problem.

There are other transaction managers available (mainly Java-based,
AFAIK). Generally a transaction manager tries to be able to interface
with all kinds of different transaction-aware services (databases,
transactional messaging systems, etc.), because generally someone
wanting to coordinate transactions using 2PC wants to coordinate all
kinds of different services;  a PostgreSQL-specific one would probably
be of extremely limited applicability, especially compared to the work
required to get the transaction manager's behavior provably correct.
Often a middleware application (such as an application server) will
provide a transaction manager; standalone ones exist as well. I've heard
good things of, but never used, Bitronix, for example.

- Josh / eggyknap

Attachment: signature.asc
Description: Digital signature


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux