2010年8月20日

[pgsql-jp: 40356] Re: vacuumdbでもI/O

こんばんは、笠原と申します。

加藤 健太 wrote:
> そこにWALファイルもあるのですが、vacuumの時にファイルの書き込みなどは行
> われるのでしょうか?
VACUUM 時には、
・不要なレコードを掃除したページのイメージ
・上記のページ操作を記録したWAL

が書き込みされます。

もし、"デフォルト以外のテーブルスペース"に置いたテーブルへの
VACUUM にて、"デフォルトのテーブルスペース"へ書き込みが発生
しているようであれば、WAL の書き込みの影響だと思います。

基本的に、更新が走らない DB であれば、VACUUM をしても書き込みは
ほとんど発生しません。

ただし、更新されていない DB であっても、古いトランザクションで挿入された
データが FREEZE されずに残っていると、データの書き込みが発生します。
一度 FREEZE されたレコードは、以降 FREEZE 対象にはなりません。

# FREEZE 処理は、VACUUM 中に行われる処理です。古いトランザクションで
挿入されたレコードに特別な ID を振って"必ず可視"である、という情報を
付与する操作です。そのため、データの更新が発生します。

(参考)
http://www.postgresql.jp/document/current/html/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND

--
NTT OSSセンタ

笠原辰仁


投稿者 xml-rpc : 2010年8月20日 20:26
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/97822
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。