2010-11-12 94 views
6

是否可以在PostgreSQL 8.4中更改现有表的填充因子?更改现有表的填充因子

或者我必须创建一个新的fillfactor表的副本 - 这是不是因为外键问题的最佳方法?

回答

11

是的,那是可能的。但是你必须将VACUUM FULL或CLUSTER这个表格重新写入表格。

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

请注意,您可能希望执行CLUSTER而不是VACUUM FULL。请参阅http://wiki.postgresql.org/wiki/VACUUM_FULL – 2012-02-16 00:53:03

+5

@JoeVanDyk:请注意,由于pg 9.0'VACUUM FULL'很好 - 现在已在Postgres Wiki中记录。 – 2013-07-05 03:10:05

+0

新的fillfactor是否适用于带VACUUM'ing的新元组/记录? (我可以忍受旧记录不受影响) – 2014-10-28 12:54:29