更新时间:2025-01-23 GMT+08:00
分享

自动清理

系统自动清理进程自动执行VACUUM和ANALYZE命令,回收被标识为删除状态的记录空间,并更新表的统计数据。

autovacuum_max_workers

参数说明:设置能同时运行的自动清理线程的最大数量。

参数类型:SIGHUP

取值范围:整型,0~128 。其中0表示不会自动进行autovacuum。

默认值:3

  • 该参数与#ZH-CN_TOPIC_0000001188482222/s8d6c38309e594a16a07f79ae412b63c6共同发挥作用,对系统表和用户表的清理规则如下:
    • autovacuum_max_workers = 0时,autovacuum被彻底关闭,不会对任何表做清理。
    • autovacuum_max_workers > 0和autovacuum = off,只对系统表和开了delta表的列存表做清理(如vacuum delta表,vacuum cudesc表和delta merge)。
    • autovacuum_max_workers > 0和autovacuum = on,会对所有表做清理。
  • 8.1.3版本默认关闭对列存主表的清理,需要设置参数colvacuum_threshold_scale_factor来启用该功能。

autovacuum_max_workers_hstore

参数说明:设置Autovacuum_max_workers里面,能同时运行的专用于清理hstore的自动清理线程的最大数量。

参数类型:SIGHUP

取值范围:整型

默认值:0

当需要使用hstore表时,一定要同步修改以下参数的默认值,否则会导致hstore表性能严重劣化,推荐的修改配置是:

autovacuum_max_workers_hstore=3,autovacuum_max_workers=6,autovacuum=true。

autovacuum_naptime

参数说明:设置两次自动清理操作的时间间隔。

参数类型:SIGHUP

取值范围:整型,1~2147483 ,单位为秒(s)。

默认值:60s

autovacuum_vacuum_cost_delay

参数说明:设置在自动VACUUM操作里使用的开销延迟数值。

参数类型:SIGHUP

取值范围:整型,-1~100,单位为毫秒(ms)。其中-1表示使用常规的vacuum_cost_delay。

默认值:2ms

相关文档