自动清理守护进程(Autovacuum)负责在后台自动扫描并清理因 MVCC 多版本更新而产生的死元组垃圾空间,防止数据表膨胀,并自动刷新系统统计信息。
autovacuum(boolean)控制是否全局开启后台自动清理守护进程,生产环境必须始终保持开启。
autovacuum_max_workers(integer)允许同时并发运行的自动清理子工作进程上限,默认值为 3。
autovacuum_naptime(integer,带时间单位)自动清理主进程在各个清理周期之间的睡眠休眠间隔,默认通常为 1 分钟。
autovacuum_vacuum_scale_factor(floating point)触发自动清理所需的死元组比例阈值(默认通常为全表总行数的 20%)。对于包含数千万行的大表,建议在表级单独调小该比例,以防止大表长期无法触发清理导致空间严重膨胀。