
# 自动清理
系统自动清理进程自动执行VACUUM和ANALYZE命令，回收被标识为删除状态的记录空间，并更新表的统计数据。
#### autovacuum_compaction_rows_limit
**参数说明：**小CU的阈值，存活元组数小于这个值的就会被认为是小CU。
**参数类型：**USERSET
**取值范围：**整型，-1\~5000
**默认值：**2500
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/caution_3.0-zh-cn.png)
- **该参数不建议用户手动修改，如需修改请联系技术支持。**
- 9.1.0.100以下集群版本中，禁止设置该参数，否则可能会导致主键数据重复**。**该参数的默认值为-1，表示关闭0CU开关。
- 9.1.0.100集群版本中，该参数的默认值为0。
- 9.1.0.200及以上集群版本中，该参数的默认值为2500。
 
#### autovacuum_asyncsort_rows_limit
**参数说明：**自动异步排序的行数阈值。该参数仅9.1.0及以上集群版本支持。
**参数类型**：USERSET
**取值范围**：整型，120000\~4200000
**默认值：**600000
#### autoanalyze_mode
**参数说明：**设置autoanalyze的模式。该参数仅8.2.0及以上集群版本支持。
**参数类型：**USERSET
**取值范围：**枚举类型
- normal，表示普通的autoanalyze。
- light，表示轻量化的autoanalyze。
**默认值：**light
#### analyze_stats_mode
**参数说明：**设置analyze计算统计信息的模式。
**参数类型：**USERSET
**取值范围：**枚举类型
- memory，表示强制使用内存计算统计信息，不计算多列统计信息。
- sample_table，表示强制使用临时采样表计算统计信息，临时表不支持使用该模式。
- dynamic，表示按内存maintenance_work_mem大小自适应选择统计信息计算模式，若[maintenance_work_mem](https://support.huaweicloud.com/devg-dws/dws_04_0893.html#ZH-CN_TOPIC_0000001811610373__sfbfa78b6871442cb85a84a425335ce38)可放下样本，则使用内存方式，否则使用临时采样表方式。
**默认值：**dynamic
#### analyze_sample_mode
**参数说明：**设置analyze时使用的采样模型。
**参数类型：**USERSET
**取值范围：**整型，0～2。
- 0，表示使用默认蓄水池采样模型。
- 1，表示使用优化的蓄水池采样模型。
- 2，表示使用range采样模型。
**默认值：**0
 #### autovacuum_max_workers
**参数说明：**设置能同时运行的自动清理线程的最大数量。
**参数类型：**SIGHUP
**取值范围：**整型，0～128 。其中0表示不会自动进行autovacuum。
**默认值：**6
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/note_3.0-zh-cn.png)
该参数与autovacuum共同发挥作用，对系统表和用户表的清理规则如下：
- autovacuum_max_workers = 0时，autovacuum被彻底关闭，不会对任何表做清理。
- autovacuum_max_workers \> 0和autovacuum = off，只对系统表和开了delta表的列存表做清理（如vacuum delta表，vacuum cudesc表和delta merge）。
- autovacuum_max_workers \> 0和autovacuum = on，会对所有表做清理。
 
#### autovacuum_max_workers_hstore
**参数说明：**设置Autovacuum_max_workers里面，能同时运行的专用于清理hstore的自动清理线程的最大数量。
**参数类型：**SIGHUP
**取值范围**：整型，0 \~ 128。其中0表示关闭hstore的自动清理功能。
**默认值：**3
![](https://support.huaweicloud.com/devg-dws/public_sys-resources/note_3.0-zh-cn.png)
当需要使用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
#### check_crossvw_write
**参数说明：**控制是否要开启跨VW写场景的检测。该参数仅9.1.0.100及以上集群版本支持。
**参数类型：**USERSET
**取值范围：**整型，-1、1。
- -1，表示兼容9.0.3版本能力。对于v3表vacuum，只清理所有epoch的非最后一个文件。
- 1，表示检查是否为跨VW写场景。对于v3表vacuum，若检查为非跨VW写的场景，清理所有epoch的非最后一个文件，清理当前epoch的最后一个文件，清理小于当前epoch的最后一个文件。若检查为跨VW写的场景，CN节点会获取所有DN节点的epoch信息包装成epochList下发给元数据VW，v3表vacuum会清理所有epoch的非最后一个文件，清理小于max{epochList}且不在epochList中的epoch最后一个文件。
**默认值：**1
 #### enable_pg_stat_object
**参数说明：** 控制auto vacuum是否更新[PG_STAT_OBJECT](https://support.huaweicloud.com/devg-dws/dws_04_1062.html)系统表。该参数仅8.2.1及以上集群版本支持。
**参数类型：**USERSET
**取值范围：**布尔型
- on表示auto vacuum更新PG_STAT_OBJECT系统表。
- off表示auto vacuum不更新PG_STAT_OBJECT系统表。
**默认值：**on
