[pgsql-jp: 35694] Re: vacuum 時のCLOGファイルへの影響について

TANIDA Yutaka tanida @ sra.co.jp
2005年 7月 7日 (木) 17:49:16 JST


谷田です。

On Thu, 7 Jul 2005 17:27:12 +0900
Katsuhiko Okano <k_okano @ po.ntts.co.jp> wrote:

> > > トランザクション数が増えるとCLOGファイルも大きくなる(最大1GB?)のですが、
> > > vacuumをすると(XIDの凍結の延長で)CLOGファイルも小さくなるのでしょうか?
> > 
> > 実験すれば分かりますが、pg_clogのファイル(256KB固定サイズで、数は増えま
> > すが大きくなったりしません)は、vacuum時に不要なものはちゃんと削除されま
> > す。
> 
> おっしゃるとおり、まずは自分で実験してみるべきでした。
> バージョン8.0.3でやってみたところ、百万トランザクションでは
> VACUUM FULLをしても小さくなりませんでした。
> (0000というファイルのサイズが増えてファイル数は1ファイルのままでした)

各ファイルは最大256KBで、かつ1トランザクション2bitなので、100万程度では
、そもそもファイル分割が起こるまで発生していないので、まだ切り捨てはない
ですね。その0000ファイルがさらに複数個増え、そのうちのふるいファイルがも
う参照されないと判断された時点でファイル自体が取り除かれます。

> 日本語ドキュメントの「第 49章データベースの物理的な格納」に
> > テーブルまたはインデックスが 1 ギガバイトを超えると、
> > ギガバイト単位のセグメントに分割されます。
> とあったので、同じように分割されるのではないかと推測しました。

なるほど。
pg_xlogやpg_clogに入っているファイルはトランザクションログのたぐいですの
で、いわゆるテーブルやインデックスの取り扱いとは全く異なる仕組みになって
います。

-- 
TANIDA Yutaka <tanida at sra.co.jp>




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