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@xxxxxxxxxxxxxx
....
insert into foo@xxxxxxxxxxxxxx
....
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? It's sort of like the synchronous multi-master
replication mentioned in Chapter 24. I'm looking for an integrated solution.
Brian Oki,
Ph.D.
Cisco Systems, Inc.