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

CyCom 熊事 1G :鈴野幹典 mikinori.suzuno @ cy-com.co.jp
2007年 3月 15日 (木) 18:00:53 JST


鈴野と申します。

On Thu, March 15, 2007 17:31(木), Morita Kazuro wrote:

> いかに更新がはげしいといっても、1テーブルにこんなにかかるものでしょうか?
> /var/log/messages を見てもHDのリトライとかハード的な問題はログには出て
> いません。なにか他に考えられる原因は無いでしょうか?
>
> 土日には専用線でひっきりなしに新しいデータが送られてきて、それをデータベース
> に格納しているのですが、そもそもこういう用途はPostgreSQLは不向きなのですか?

PostgreSQLを使う上でどうしても構造上、定期的なvacuumは必要であって、
最近のバージョンではそのタイミングや方法を楽にする仕組み
(autovacuumなど)が用意されています。

一言で言ってしまえばvacuumの計画をして置けば問題にはならなかったと思います。


もしメンテナンスにDBを止める事が出来るのであれば、
一度データをダンプして既存のDBを削除し、再度同名でDBを作り
ダンプデータをインポートする事により、今回のケースに限りvacuumよりも
早く、また同じ効果が得られると思います。


もちろんその後は一日一回のvacuum、週一回Full vacuumなどの
定期的なvacuumをする計画していく必要があります。




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