[pgsql-jp: 35693] Re: vacuum 時のCLOGファイルへの影響について
Katsuhiko Okano
k_okano @ po.ntts.co.jp
2005年 7月 7日 (木) 17:27:12 JST
岡野です。
谷田さん、リプライありがとうございます。
------- Reply Message
In message <20050707145642.DF7D.TANIDA @ sra.co.jp>
Date: Thu, 07 Jul 2005 15:10:40 +0900
"[pgsql-jp: 35689] Re:vacuum 時のCLOGファイルへの影響について"
"TANIDA Yutaka <tanida @ sra.co.jp>" wrote:
> 谷田です。
>
> On Thu, 7 Jul 2005 14:50:09 +0900
> Katsuhiko Okano <k_okano @ po.ntts.co.jp> wrote:
>
> > PostgreSQLのバックアップ/リカバリについて検討しています。
> > バックアップすべきデータとして、
> > $PGDATA/pg_clogディレクトリにあるCLOGファイルも保存しければならないと
> > 考えています。
>
> バージョンは何で、バックアップの手法は何ですか?
>
> この設問自体、8.0+PITRでしかあり得ないのは分かりますが、それを明示しない
> と混乱するだけではないでしょうか。以下、その仮定の下で話します。
言葉足らずで申し訳ありません。
ご指摘のとおり、バージョンは8.0.xで、ログをアーカイブする設定
という環境を想定しています。
バックアップはpg_start_backup(),pg_stop_backup()を使用した
オンラインバックアップを考えています。
>
> > トランザクション数が増えるとCLOGファイルも大きくなる(最大1GB?)のですが、
> > vacuumをすると(XIDの凍結の延長で)CLOGファイルも小さくなるのでしょうか?
>
> 実験すれば分かりますが、pg_clogのファイル(256KB固定サイズで、数は増えま
> すが大きくなったりしません)は、vacuum時に不要なものはちゃんと削除されま
> す。
おっしゃるとおり、まずは自分で実験してみるべきでした。
バージョン8.0.3でやってみたところ、百万トランザクションでは
VACUUM FULLをしても小さくなりませんでした。
(0000というファイルのサイズが増えてファイル数は1ファイルのままでした)
もっと多くのトランザクションで試してみて結果が分かったら
このMLで報告させていただきます。
>
> #最大1GBって、どこのドキュメントにありましたっけ?
日本語ドキュメントの「第 49章データベースの物理的な格納」に
> テーブルまたはインデックスが 1 ギガバイトを超えると、
> ギガバイト単位のセグメントに分割されます。
とあったので、同じように分割されるのではないかと推測しました。
>
> ひょっとして、ものすごく古いバージョンだった場合、残念なことにpg_log内の
> ファイルを小さくする手段はなかったはずです。もっとも、そのころのバージョ
> ンはXIDの凍結もなかったはずですが。
>
> --
> TANIDA Yutaka <tanida at sra.co.jp>
>
実験結果です。
環境:CentOS Linux 3.4-x86_64 + PostgreSQL 8.0.3
testdb=# SELECT version();
version
------------------------------------------------------------------------------
-----------------------------------
PostgreSQL 8.0.3 on x86_64-unknown-linux-gnu, compiled by GCC gcc (GCC) 3.2.3
20030502 (Red Hat Linux 3.2.3-49)
(1 row)
・initdb時
$PGDATA/pg_clog/0000 サイズ=8192
・pgbenchでトランザクションを実行(終了時のトランザクションID=約1000000)
$PGDATA/pg_clog/0000 サイズ=253952
・VACUUM FULL VERBOSE後
$PGDATA/pg_clog/0000 サイズ=253952 タイムスタンプ=VACUUM完了時の時刻
以上です。
----------------------------------------
Katsuhiko Okano
k_okano at po.ntts.co.jp
NTT Sofrware Corp. (division "NBRO-PT4")
pgsql-jp メーリングリストの案内