[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 メーリングリストの案内