[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 メーリングリストの案内