Re: Support for distributed transactions

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема Re: Support for distributed transactions
Дата
Msg-id 470E70D1.2020906@enterprisedb.com
обсуждение исходный текст
Ответ на Support for distributed transactions  ("Brian Oki (boki)" <boki@cisco.com>)
Список pgsql-jdbc
Brian Oki (boki) wrote:
> 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@node2.acme.com <blocked::mailto:foo@node2.acme.com>
> ....
>     insert into foo@node3.acme.com <mailto:foo@node3.acme.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?

Unfortunately PostgreSQL doesn't have remote or federated queries like
that. You can't reference tables in different nodes. PostgreSQL does
support two-phase commit, but what you're looking for is much more than
that.

There is, however, a contrib module called dblink, that you can use to
submit SQL queries to remote database, but it's not integrated so that
you could do "INSERT foo@remotenode". By using dblink in update rules on
a view you can emulate that to some extent. But dblink won't do
two-phase commit, so you'll find that the updates to remote tables are
committed as soon as the statement finishes.

--
  Heikki Linnakangas
  EnterpriseDB   http://www.enterprisedb.com

В списке pgsql-jdbc по дате отправления:

Предыдущее
От: "Brian Oki (boki)"
Дата:
Сообщение: Support for distributed transactions
Следующее
От: Kris Jurka
Дата:
Сообщение: Re: ResultSet with more than 5 rows causes error