[pgcluster: 716] Re: pgreplicateが固まります
Seiryu Fumio
BX7S-SIRY @ asahi-net.or.jp
2005年 3月 10日 (木) 13:47:28 JST
こんにちは、清流です。
> ログを見ると,SELECT FOR UPDATEの後,ENDが抜けている箇所があるようですね.
> でロックがかかってしまっているのだと思います.
下記のようなperlで自動的に作ったSQL文ですので、その可能性は低そうです。
実際に使用したSQL文を確認してみましたが、抜けている箇所はありませんでした。
また連続で begin; を実行してみましたが、
以下のエラーが表示されるだけで固まると言うことはありませんでした。
WARNING: BEGIN: already a transaction in progress
あれからさらにいろいろテストしたのですが、
どうやらdb-cl2単体から begin; と end; を連続して実行するだけで、
すぐにエラーが出て固まるようです。
設定が間違っているのかと思い、設定ファイルを見直したり、
pgreplicate.conf.sample から再度作り直したりしたのですが、解決しませんでした。
あとどこかチェックすべき箇所はありますでしょうか?
それでは、よろしくお願いします。
--------------------------perlプログラム--------------------------
#!/usr/bin/perl
for( my $i = 0; $i < 10000; $i++ ){
print "begin;\n";
print "SELECT * FROM session_id WHERE id = 'a-$i' for update;\n";
print "UPDATE session_id SET name = 'tran' WHERE id = 'a-$i';\n";
print "end;\n";
}
--------------------------perlプログラム--------------------------
----
Seiryu Fumio <BX7S-SIRY @ asahi-net.or.jp>
pgcluster メーリングリストの案内