Hi,
I've read through the relevant documentation on distributed transactions
for PostgreSQL 8.2.5 but it leaves me with more questions than answers.
It is unclear to me how SQL statements can be executed at remote nodes
from a single coordinator and then use distributed two-phase commit (via
'prepare transaction tid' and 'commit prepared'). 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
This sequence will insert a row into all three tables and do the
distributed atomic commitment.
My question is this: How does PostgreSQL 8.2.5 execute DML statements
(insert, update, delete, select) on remote nodes as part of the same
transaction? Where is the syntax specified? Or, is there a different
model supported?
Brian Oki, Ph.D.
Cisco Systems, Inc.