我有一个在AmazonEC2/ebs上运行的Postgresql 9.1db。数据库已开始变慢。我们有一个包含一百万条记录的表,这似乎会减慢一切。在查看postgres配置时,我们注意到autovacum设置被注释掉了。
解决这个问题的正确方法是什么?autovacum是否应设置为on?我们是否应该有一些cron,每隔一段时间自动腾出时间?
此外,任何关于如何腾空一个prod db的想法/链接,如何知道你是否需要腾空,都将不胜感激。我想要学习。谢谢
发布于 2013-02-13 02:50:00
psql:VACUUM VERBOSE分析表。并读取输出。一般来说,你想打开自动吸尘器,偶尔你可能想手动运行吸尘器,如果你注意到任何错误的话。
发布于 2013-02-13 02:57:13
自动真空应该运行的频率取决于数据库修改记录的频率。如果您的数据库经常进行删除和更新,那么您将需要经常运行autovacuum。如果您的数据库/模式只是简单地添加到数据库中,并且很少执行更新或删除操作,那么您就不需要经常运行它。
Autovacuum只是为了回收数据库不再使用的内存/存储空间。
https://stackoverflow.com/questions/14839510
复制相似问题