[pgsql-jp: 35972] Re: VACUUM中にCOPYが終わらない

nomoto shin-1 @ ca2.so-net.ne.jp
2005年 9月 8日 (木) 18:08:27 JST


  nomotoです。

>神谷様の言うようにVACUUM中のCOPY処理を止めるという
>選択肢がない理由は、このシステムがあるシステムの状態を
>常に監視するもので、1分単位に受け取るデータの中に、
>アラーム情報があれば即時に対応しなければならないからです。
>
>運用やシステムの変更は、現時点ではままならない状態です。
>現在、最優先で知りたい情報は、このような現象がなぜ発生する
>かです。

こちらは私では分かりませんので識者のコメントを待つとして

>したがって、負荷が高いのを承知でVACUUMとCOPYとを平行
>運用しています。

は、もっともな話なので

>今後も同様のシステムが必要な場合にどのように
>対処すべきを判断する為に(PostgreSQLではダメとか、8.0なら大丈夫とか・・)
>是非お力をお貸しいただきたく思っております。

今後同様のシステムを作る際には・・・ですが。

・一日一回時系列で古いデータ(テーブル中の大半)をごっそり捨てる
・データ更新は新規での追加だけ

というローテーションログのような使いかたをするのであれば、
リレーショナルDBの設計思想とは外れますが、それこそ日付の名前の
テーブルを作って、古いテーブルをまるごとDROPしてしまうのが
いいのでは?DROPだとそれこそ一瞬で済むのかもしれない。

一瞬でもCOPY先のテーブルが存在しないことが無いように翌日分の
テーブルを作成しておくようにすればいいですよね。



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