3

我正在尝试使用配置文件中的以下配置参数来调整 PostgreSQL 服务器:

autovacuum_freeze_max_age = 500000000
autovacuum_max_workers = 6
autovacuum_naptime = '15s'
autovacuum_vacuum_cost_delay = 0
maintenance_work_mem = '10GB'
vacuum_freeze_min_age = 10000000

我想了解是什么autovacuum_vacuum_cost_delay。我尝试在谷歌上搜索很多,但没有得到任何足以理解的东西。

4

1 回答 1

2

该文档是指vacuum_cost_delay,其中说:

超过成本限制时进程将休眠的时间量。

这是一个减慢自动清理速度的功能。每当一个 autovacuum worker 工作时(删除一个元组,读取一个块,......),它都会收集工作点。一旦这些点超过autovacuum_vacuum_cost_limit(默认为 200),它就会暂停 autovacuum_vacuum_cost_delay.

原因是VACUUM使用了很多资源,所以默认是减慢的,希望不会干扰正常运行。但是,如果 autovacuum 太慢,您最终可能会得到臃肿的表。

于 2020-08-31T13:19:57.943 回答