2010年6月 3日

[pgsql-jp: 40287] Re:Vacuumによる物理的なDiskの開放について質問


"Jun'ya Nishida" <nishida@xxxxx> wrote:

> DBからの大量のレコード(70万レコード)削除、その後、翌朝の
> vacuum(vacuum fullは実施してません)では、Diskの使用量は
> とくに減りませんでしたが、3日後のvacuum終了時点で、Disk使用量
> が大幅に減少しました。
>

>   なぜ二日もたってから、急にDiskが開放されたのか?というのが
>   そもそもの疑問です。

VACUUM (無印) は、ファイルの末尾に有効な行が無い場合にのみ
ファイルを縮小します。

[行] [空] [行] [空] [空] [空] [行]

のような物理配置状況では VACUUM してもファイルサイズは減りませんが、
たまたま最後の [行] が DELETE (or UPDATE で別の場所に再配置) されると、

[行] [空] [行] [空] [空] [空] [ゴミ]

が VACUUM されて、以下のように縮小されます。

[行] [空] [行] (これ以降は全て [空] なので切り詰め)


> 参考文献、マニュアル等へのポインタでも結構ですので、教えていただけると
> 助かります。

マニュアルに記述ってありましたっけ? 該当コードの場所は示せるのですが……。
http://doxygen.postgresql.org/vacuumlazy_8c.html#19584962e8dba509013cc41ea0482a54

------------------------------------------------------------
NTT オープンソース ソフトウェア センタ
板垣貴裕 <itagaki.takahiro@xxxxx>

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




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