3

我有一个在亚马逊 ec2/ebs 上运行的 Postgresql 9.1 db。数据库开始变慢。我们有一张包含 100 万条记录的表,这似乎让一切都变慢了。在查看 postgres 配置时,我们注意到 autovacum 设置被注释掉了。

解决这个问题的正确方法是什么。是否应该将 autovacum 设置为开启?我们应该有一些在设定的时间间隔内自动清理的 cron 吗?

此外,任何关于如何清理 prod db、如何知道您是否需要清理的想法/链接将不胜感激。我正在寻找学习。谢谢

4

2 回答 2

6

autovacuum 应该运行的频率取决于您的数据库修改记录的频率。如果您的数据库不断进行删除和更新,那么您将需要经常运行 autovacuum。如果您的数据库/模式只是简单地添加到数据库并且很少进行更新或删除,那么您不需要经常运行它。

Autovacuum 仅用于回收数据库不再使用的内存/存储空间。

于 2013-02-12T18:57:13.467 回答
3
  1. 打开自动吸尘器
  2. 运行,从psql:VACUUM VERBOSE ANALYZE table。并读取输出。

一般来说 - 你想要 autovacuum,偶尔你可能想要手动运行 VACUUM,如果你会发现任何错误。

于 2013-02-12T18:49:59.790 回答