"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
---------------------------(end of
broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an
appropriate
subscribe-nomail command to majordomo postgresql.org so that your
message can get through to the mailing list cleanly
|