PostgreSQL数据库大小增加

sta*_*005 2 postgresql

我有一个奇怪的问题.我的postgresql(8.3)的大小正在增加.所以我做了一个转储,然后清理了数据库,然后重新导入了转储.数据库大小减少了大约50%.

一些信息:(1)AUTOVACUUM和REINDEX在后台定期运行.(2)数据库编码是ASCII.(3)数据库位置:/ database/pgsql/data(4)系统:Suse-Ent.10.

任何提示都表示赞赏

Rya*_*air 5

如果死亡元组已经超出可以计算的范围max_fsm_pages,那么常规的VACUUM将无法释放所有内容.最终结果是随着死区继续累积,数据库将随着时间的推移而变得越来越大.运行VACUUM FULL应该可以解决这个问题.不幸的是,在大型数据库上可能需要很长时间.

如果您经常遇到这个问题,您需要更频繁地吸尘(autovacuum可以在这里帮助)或增加max_fsm_pages设置.运行VACUUM VERBOSE时,它会告诉您已释放的页数,并max_fsm_pages在超出时向您发出警告,这可以帮助您确定该值应该是多少.有关详细信息,请参阅手册.http://www.postgresql.org/docs/8.3/static/runtime-config-resource.html#RUNTIME-CONFIG-RESOURCE-FSM

幸运的是,8.4的可见性图解决了这个问题.Despesz像往常一样有关于这个主题的精彩故事:http://www.depesz.com/index.php/2008/12/08/waiting-for-84-visibility-maps/