[pgcluster: 414] トランザクション実行速度低下について
Wataru Oguro
oguro @ zenrin-datacom.net
2004年 7月 15日 (木) 11:18:26 JST
oguroです。
・RedHatLinux7.3(クラスタサーバ2台、レプリケーションサーバ1台)
・PGCluster1.0.7rc6
上記環境でいろいろとテスト中なのですが、奇妙な症状が出ております。
クラスタサーバ1台に接続し、begin〜rollback|commitの間にパーサエラーを出
させてからinsert等のクエリーを発行すると、エラーが出て実行されないのです
が、その直後にトランザクションを終了(rollback|commit)すると普段より時
間がかかります。
このトランザクションの終了後は、同セッション内での更新系クエリーが非常に
遅くなります。(セッションを終了し、接続しなおすと症状は改善します)
更新系クエリーが遅くなったセッションを使い続けていると(どのタイミングか
ははっきりしていません)、\qでpsqlを抜けてもセッションが残るようになって
しまいます。(さらに、別セッションからもトランザクションを発行できなくな
ります)
具体的な手順は以下の通りです。
1.DBへ接続
psql test
2.トランザクション開始
#begin;
3.クエリー発行
#insert into test values('111');
INSERT 115542 1
4.パーサエラーを発生させる
#ooo;
ERROR: parser: parse error at or near "ooo" at character 1
5.再びクエリーを発行
#insert into test values('112');
ERROR: current transaction is aborted, queries ignored until end of
transaction block
6.トランザクション終了
#rollback;
6.以降の更新系クエリーは全て遅くなります。(3.の手順がなくても同様の
症状になります。)
何が原因なんでしょうか・・・・
pgcluster メーリングリストの案内