[pgsql-jp: 35965] Re: VACUUM中にCOPYが終わらない
Kazuo Kojima
kojima @ lucida.com
2005年 9月 7日 (水) 18:26:57 JST
小島です。
さっそくのご意見ありがとうございます。
> コピーとバキュームが同時に行われないようにする運用は
> 検討できないのでしょうか。
はい。システムが24時間運転が原則でありコピーを
VACUUM中止めることはできないのです。
>> -----Original Message-----
>> 2.毎午前0時に前日のデータを削除します。(約1千万件)
> とありますが、これが「該当テーブルの全データ削除」ならば
> DELETE+バキューム
> ではなく、
> DropTable+CreateTable(+CreateIndex)
すみません。記述が誤ってました。削除するのは前日ではなく、
前々日のデータで全体の半分を削除することになっています。
(つまり、1日約1千万件のデータを追加してMAX2千万件になり
毎深夜に前々日の1千万件データを削除するシステムになります)
したがって、DROPTABLE+CreateTableやTRUNCATEは
出来ないのです。
現在は、INDEXを削除することで安定した稼動を続けているのですが、
原因が分からない以上、この状態での運用にも不安があります。
また、将来、INDEXがどうしても必要なときに同じ現象がでるのを
避けたいと思っています。
回避方法としては、TRUNCATEで削除できるような仕組みへの変更
或いは、現在実施しているINDEXの削除などがあるとは思います。
本質的な原因が知りたいのです。
例えば、「VACUUMのインデックの再利用化の仕組みとコピー処理時
のインデックスの生成の仕組みから何らかの原因でハングしてしまう
場合がある」など。
どうぞよろしくお願いします。
pgsql-jp メーリングリストの案内