[pgsql-jp: 38145] cacuum に異常に時間がかかる理由

Morita Kazuro morita @ yuki.ad.jp
2007年 3月 14日 (水) 14:53:28 JST


森田と申します。いつもお世話になっております。

私が管理しているPostgreSQLのサーバーの1つが vacuum に異様に時間が
かかっています。利用されるのは基本的に金土日月なのでいつも火曜未明に
crontab で vacuumをやっているのですが、vacuum の時間がだいたい
10時間以上かかり、お昼になっても終わりません。

OS はCentOS 4.4.i386
PostgreSQLのバージョンは 8.1.4
データベースのサイズは今のところ
pg_size_pretty(pg_database_size('xxx')) が18Gです。
du -s で見てもそんなもんです。
max_fsm_pages は、
max_fsm_pages = 300000
max_fsm_pages 不足の警告はでていません。
メモリは1Gです。
vacuumのパラメータは
vacuumdb -a -z です。
土日はけっこう激しい更新があります。

それにしても10時間でも終わらないのは異常ではないかと思います。

なお、pg_dump してデータベースを作り直してから psql < ダンプファイル
をして vacuumdb -a -z なら2時間くらいで終わります。
このままどうにもならないのなら、これでで行こうかとも考えているのですが。

しかし、異様に遅くなる原因が思いつきません。なにかお知恵を借りられないでしょうか?




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