• ベストアンサー

vacuum処理を高速化させたい

PostgreSQLの8.1.15を使用しております。 3時間ほどかかるバキューム処理を高速化させたいと考えているのですが、 設定関連でチューニングする事は可能なのでしょうか? もし可能でしたら、その方法、もしくは関連サイトをご教授頂けませんでしょうか。 よろしくお願いします。 尚、autovacuumは負荷対策として現在停止しており、 日次でanalyzeオプションにてvacuumしております。

質問者が選んだベストアンサー

  • ベストアンサー
  • junkUser
  • ベストアンサー率56% (218/384)
回答No.1

データの量がわからないので 3時間が長いのかは判断できませんが・・・ 1.テーブルごとに小分けにする VACUUM ANALYZE table 2.解析の対象を限定する VACUUM ANALYZE table (column [, ...] ) 3.メモリを増やす

参考URL:
http://www.postgresql.jp/document/pg815doc/html/sql-vacuum.html
minarai563
質問者

お礼

ご回答ありがとうございます! データ量は・・・gzで圧縮したダンプサイズで1.5GBぐらいですね。 PostgreSQL運用にしては多いかな・・と。 やはりメモリは大きいでしょうか(汗) 確かに、非常に少ない構成です。(1GBという・・) VM環境なので、試しに1GB増やして検証してみたいと思います。

その他の回答 (1)

  • yamada59
  • ベストアンサー率74% (29/39)
回答No.2

言うまでもないかもしれませんが、VACUUM の実行時に使用されるメモリは postgresql.conf ファイルの maintenance_work_mem パラメータに設定した値(デフォルトでは 16MB)なので、サーバのメモリを増やすとともに、この値も増やしてみてください。

minarai563
質問者

お礼

ご回答ありがとうございます。 maintenance_work_memパラメータの変更が必要だったのですね。素人過ぎてすみません(汗) 試してみたいと思います。 ありがとうございました。

関連するQ&A