[pgsql-jp: 38132] Re: COPYによるデータ取り込みでの警告(?)メッセージ
Hisashi Chiba
ch-999 @ beige.plala.or.jp
2007年 3月 14日 (水) 09:01:38 JST
千葉です。
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 メーリングリストの案内