Re: support for distributed transactions - Mailing list pgsql-novice

From Tom Lane
Subject Re: support for distributed transactions
Date
Msg-id 29487.1192062781@sss.pgh.pa.us
Whole thread Raw
In response to support for distributed transactions  ("Brian Oki (boki)" <boki@cisco.com>)
List pgsql-novice
"Brian Oki (boki)" <boki@cisco.com> writes:
> ... I worked at Oracle in
> the distributed database group and could do things like the following
> using PL/SQL, where we insert the same row into the same table on three
> different nodes, including the local one:
>     insert into foo ....
>     insert into foo@node2.acme.com ....
>     insert into foo@node3.acme.com ....
>     COMMIT

[ shrug... ]  Stuff like that is why Oracle is enormously larger, more
complicated, and more expensive than Postgres.

There is no distributed transaction support built into Postgres.  There
is two-phase commit, on top of which a transaction manager can be built
to manage distributed transactions externally.  This seems like a
reasonable design to me, both because it splits up the concerns and
because it allows distributed transactions across different DBMSes
so long as they all support the 2PC protocol.  (Hence, don't hold your
breath waiting for an integrated solution.)

I believe there's some suitable external XA support available in the
Java environment, but I'm pretty clueless on details.  The folk in
pgsql-jdbc would probably be able to help you out if that seems like
a reasonable approach for you.

            regards, tom lane

pgsql-novice by date:

Previous
From: "Brian Oki (boki)"
Date:
Subject: support for distributed transactions
Next
From: Richard Broersma Jr
Date:
Subject: Re: support for distributed transactions