请教大家,postgres 8.1.3运行一段时间后,pg_clog 目录下有很多256kb的文件,且还在不断增长中,怎么样清理这些pg_clog?

解决方案 »

  1.   

    pg_clog的文件不要动它。否则启动不起来。
      

  2.   

    pg_clog保存的是每个transaction的commit状态,系统每发生一个transasction只占用一个(或2个)字节。总的占用空间比其他数据小得多,如果空间不够,应该去清理其他的东西,而不是清理它。如果确定要清理,建议备份整个数据库和 hba.conf,postgresql.conf文件-》删除数据目录-》initdb重建数据目录->备份导入。或者胆大的做法,把前面几个pg_clog文件删除(没试过)。
      

  3.   

    这个问题对8.1 的版本可能无解了,删除任一pg_clog文件,都有可以导致数据库不能启动;现在我将数据库升级到8.4 ,测试了一段时间,pg_clog 和pg_xlog 并未明显增长,问题应该解决了。谢谢