更改现有表的fillfactor

时间:2010-11-12 00:22:35

标签: postgresql fillfactor

是否可以在PostgreSQL 8.4中更改现有表的fillfactor?

或者我是否必须使用新的fillfactor创建表的副本 - 由于外键问题,这不是最佳方法?

2 个答案:

答案 0 :(得分:12)

是的,这是可能的。但是你必须在此表中使用VACUUM FULL或CLUSTER来重写表格。

ALTER TABLE foo SET ( fillfactor = 50);
VACUUM FULL foo;

答案 1 :(得分:0)

ALTER TABLE foo SET ( fillfactor = 20);
VACUUM FULL foo;

查看表格选项,包括填充因子

select t.relname as table_name, 
       t.reloptions
from pg_class t
  join pg_namespace n on n.oid = t.relnamespace
where n.nspname = 'jxy'
  and t.relname in ('xx', '')
;

然后

run pg_repack