[pgsql-jp: 40394] AUTOVACUUMと手動VACUUMの同時実行

Kei SUGIMOTO kei.wings @ gmail.com
2010年 9月 13日 (月) 18:13:54 JST


お世話になります。いつも参考にさせていただいております。
現在PostgreSQL8.1.1を使用しております。

基本的にはAUTOVACUUMにて運用しているのですが、
特定テーブルがVACUUM(AUTOVACUUM)中に、そのテーブルにUPDATE処理を実施した際に
処理待ち状態となってしまいました。

 ※定点でpg_stat_activityを確認した結果、上記が判明。

解決のため根本原因は目下調査中なのですが、
運用上、UPDATE処理を止めることができなかったため、暫定的に
該当テーブルだけAUTOVACUUMの対象から外して様子見としております。

今後の暫定対応としては該当テーブルの個別に通常VACUUMを実施する予定なのですが、
個別VACUUM中にAUTOVACUUM処理でその他のテーブルのVACUUMが実施された
場合、問題が発生するものでしょうか?

通常のVACUUMであれば排他ロックはかからないので問題ないとは思うのですが、
ご存じの方がいらっしゃいましたらご教授いただければ幸いです。

以上です。


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