[pgsql-jp: 36649] Re: 異なるデータベース間のテーブル結合
Tatsuo Ishii
ishii @ sraoss.co.jp
2006年 1月 20日 (金) 00:15:39 JST
石井です.
> 更新系の処理でもdblinkを利用することは可能です。
> しかし、リモート側の処理に関してはローカルの
> トランザクション管理の対象となりません
> (リモート側は常にコミットされるイメージ)
そうですか?単にdblink_execで,リモート側でも明示的にトランザクション
を開始しておけば,「常にコミットされるイメージ」にはならないと思います
けど.
> このため、更新系のトランザクションの中で
> 利用するときは注意が必要です。
> (ローカル側のロールバックがリモート側に反映されないためです)
ローカル側がロールバックしてしまったら,dblinkでリモート側もロールバッ
クすれば良いだけではないですか?
それよりも,ローカル側がコミットできたのに,リモート側がエラーになって
しまったときの方が大変ですよね.ローカル側のコミットを取り消せないです
から.
これを解決するには2相コミットを使えばよいのですが,8.1以降限定になって
しまいます.
--
Tatsuo Ishii
SRA OSS, Inc. Japan
pgsql-jp メーリングリストの案内