Re: XA support (distributed transactions)

From: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
To: "Danny Milosavljevic" <danny(dot)milosavljevic(at)fabalabs(dot)org>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: XA support (distributed transactions)
Date: 2006-11-20 17:59:56
Message-ID: 4561ED1C.2080903@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Danny Milosavljevic wrote:
> Hi,
>
> We (Fabalabs) are looking into adding XA support (distributed
> transactions) to Postgresql.
>
> I have been searching the web and came up with
> http://www.nabble.com/Re%3A-Postgres-XA-support-t226681.html#a633000
> which cites some design difficulty.

That mail discusses problems we had trying to implement XADataSource in
the JDBC driver. Things have evolved from that, and we have a working
solution that works. It doesn't support some of the advanced features,
suspend/resume and transaction interleaving in particular, but support
for those is rather flaky in other DBMS's as well, and it's not a
problem in practice because J2EE application server implementations work
well without them. Please read all the more recent discussions on
pgsql-jdbc mailing list on the subject if you want to contribute.

> It is the case that the X/Open XA standard mandates "transaction
> branches" that are managed by calls to xa_start()/xa_end() in an
> out-of-band manner (via some kind of exported C VMT, sigh), in parallel
> to "native resource manager access" and so Michael Allman's objections
> (see link above) are correct when one assumes one single persistent
> postgresql connection per database prevailing, and a transaction manager
> that arbitrarily commands when to start/end transaction branches.
>
> What is the current status?

As I said above, we have working solution for the JDBC driver. I'm not
sure if what we have would suffice for a native C XA client library.

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2006-11-20 18:17:23 Severity of elog(FATAL) should vary by process
Previous Message Florian G. Pflug 2006-11-20 17:47:12 Re: XA support (distributed transactions)