是否可以更改 PostgreSQL 8.4 中现有表的填充因子?
或者我是否必须使用新的填充因子创建表的副本——由于外键问题,这不是最好的方法?
是的,这是可能的。但是你必须在之后对这个表进行 VACUUM FULL 或 CLUSTER 来重写表。
ALTER TABLE foo SET ( fillfactor = 50);
VACUUM FULL foo;
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