[pgpool-general-jp: 870] pgpool-II-2.3.3環境下でのINDEX再作成がうまくいかない

Junpei Kanzaki kanzaki @ highwayfortress.ddo.jp
2010年 12月 22日 (水) 12:04:15 JST


神崎と申します。

先日DB1台構成から、
pgpool-II-2.3.3とpostgresql-8.2.14で、
DB2台のレプリケーションと負荷分散を行う構成へ
移行を行いましたところ、
移行前は行えていたINDEXの再作成(DROPしてCREATE)が
DROP INDEX waitingで進まなくなってしまいました。

何度かDROP INDEXを実行しなおすことで
waitingにならずに成功することがあるのですが、
cronでINDEX再作成を自動実行に出来ず不便しています。

状況としては、DBD/DBIからの検索系クエリが
常時入ってきている環境で、
この検索系クエリはDBD/DBIの仕様により
プリペアードクエリとして実行されています。

他にINSERTやUPDATEも実行されていますが、
こちらは通常のクエリです。

DROP INDEX waitingで進まなくなっている状況の
ロックを調べましたところ、
DBD/DBIからのプリペアードクエリのBIND処理で
AccessShareLockが保持されたまま終わらない状況となっており、
他の処理は全てロック待ちの状態となっておりました。

また、pgpool経由で実行した時も、
個別DBで直接実行した時も同じ状況になります。

何か解決方法をご存じでしたらご教授頂けませんでしょうか。

以上、よろしくお願い致します。
-- 
Junpei Kanzaki <kanzaki @ highwayfortress.ddo.jp>



pgpool-general-jp メーリングリストの案内