在我的 postgres9.4 实例上,Autovacuum 执行需要很长时间,我的问题是:
- 我可以通过删除索引来提高自动清理的速度吗?如果我在清理过程中终止清理,其结果会生效吗?因为我可能需要在删除索引之前终止当前清理。
- 还有其他方法可以加快自动清理速度吗?
我增加了maintenance_work_mem,将vacuum_cost_limit设置为更高的值,并将vacuum_cost_deplay设置为0。
任何建议或帮助都将受到赞赏!
在我的 postgres9.4 实例上,Autovacuum 执行需要很长时间,我的问题是:
我增加了maintenance_work_mem,将vacuum_cost_limit设置为更高的值,并将vacuum_cost_deplay设置为0。
任何建议或帮助都将受到赞赏!
加速自动清理的最佳方法是
升级。
PostgreSQL 9.6 对其性能进行了大幅改进
VACUUM
,后续版本的性能改进更大。增加
autovacuum_vacuum_cost_limit
或减少autovacuum_vacuum_cost_delay
。设置
autovacuum_vacuum_cost_delay
为 0 将使自动清理尽可能快地运行。提升
maintenance_work_mem
至 1GB。在最近的发布中,加速
max_parallel_maintenance_workers
。是的,删除索引将加快自动清理速度。
如果您中断自动清理,它可能已经完成了一些工作,下次运行无需重复,但也可能会失去所有内容。