Re: support for distributed transactions

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: "Brian Oki (boki)" <boki(at)cisco(dot)com>
Cc: pgsql-novice(at)postgresql(dot)org
Subject: Re: support for distributed transactions
Date: 2007-10-11 00:33:01
Message-ID: 29487.1192062781@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-novice

"Brian Oki (boki)" <boki(at)cisco(dot)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(at)node2(dot)acme(dot)com ....
> insert into foo(at)node3(dot)acme(dot)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

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message Richard Broersma Jr 2007-10-11 00:35:27 Re: support for distributed transactions
Previous Message Brian Oki (boki) 2007-10-10 23:12:32 support for distributed transactions