[pgsql-jp: 38135] Re: COPYによるデータ取り込みでの警告(?)メッセージ
YuGo
yu.gotou @ gtec-ni.com
2007年 3月 14日 (水) 10:56:24 JST
こんにちは、千葉さん。
#vacuum verbose
とやって出るメッセージの最後のあたりpage slots are requiredの数値はいく
つですか。
現在max_fsm_pages = 30000にしたら警告は出ませんか。
> Norio Suzuki wrote:
>> 問題になるのは、ページサイズがこの値を超えていると VACUUM を実行しても
>> ゴミ掃除をしてくれないことです。
>
> max_fsm_pages とページサイズ、取り込むデータとの関係が
> イマイチ把握出来ていません。
>
>> どのくらいデータが大きくなりそうかを見積もって max_fsm_pages のサイズを
>> 決めるのがより良いとは思います。
>
> 取り込むデータサイズは
> % ls -l
> -rwxr--r-- 1 postgres postgres 7961723 Mar 7 12:56 data1.csv
> -rwxr--r-- 1 postgres postgres 8608347 Mar 7 13:01 data2.csv
> -rwxr--r-- 1 postgres postgres 12207823 Mar 7 12:59 data3.csv
> % wc -l ./*.csv
> 10842 ./data1.csv
> 9992 ./data2.csv
> 12724 ./data3.csv
> となっていて、毎回大きな変動はありません。
>
> これらのデータを同一データベース内のそれぞれのデーブルに対し
> truncate table tbl1;
> truncate table tbl2;
> truncate table tbl3;
> copy tbl1 from 'data1.csv' delimiters ',' null as '';
> copy tbl2 from 'data2.csv' delimiters ',' null as '';
> copy tbl3 from 'data3.csv' delimiters ',' null as '';
> のように毎月1回処理をしていますが、VACUUMはその都度実行していません。
>
> これらによって、max_fsm_pagesをどの程度の値にするのが良いのでしょうか。
>
pgsql-jp メーリングリストの案内