
# 自动清理
系统自动清理进程自动执行VACUUM和ANALYZE命令，回收被标识为删除状态的记录空间，并更新表的统计数据。
#### autovacuum_compaction_rows_limit
**参数说明：**小CU的阈值，存活元组数小于这个值的就会被认为是小CU。该参数9.1.1.100及以上集群版本中已废弃。
**参数类型：**USERSET
**取值范围：**整型，-1\~5000
**默认值：**2500
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_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-911-dws/dws_04_0893.html#ZH-CN_TOPIC_0000002202094753__sfbfa78b6871442cb85a84a425335ce38)可放下样本，则使用内存方式，否则使用临时采样表方式。
**默认值：**dynamic
#### analyze_sample_mode
**参数说明：**设置ANALYZE时使用的采样模型。
**参数类型：**USERSET
**取值范围：**整型，0～2。
- 0，表示使用默认蓄水池采样模型。
- 1，表示使用优化的蓄水池采样模型。
- 2，表示使用range采样模型。
**默认值：**0
 #### autovacuum_max_workers
**参数说明：**设置能同时运行的自动清理行存表线程的最大数量。
**参数类型：**SIGHUP
**取值范围：**整型，0～128 。其中0表示不会自动进行行存表的autovacuum。
**默认值：**2
![](https://support.huaweicloud.com/devg-911-dws/public_sys-resources/note_3.0-zh-cn.png)
该参数与AUTOVACUUM共同发挥作用，对系统表和用户行存表的清理规则如下：
- autovacuum_max_workers = 0时，autovacuum被彻底关闭，不会对行存表进行清理。
- autovacuum_max_workers \> 0和autovacuum = off，只对系统表进行清理。
- autovacuum_max_workers \> 0和autovacuum = on，会对所有行存表进行清理。
 
#### autovacuum_max_workers_hstore
**参数说明：**设置同时运行的专用于merge hstore delta表的自动线程的最大数量，不受autovacuum参数控制。
**参数类型：**SIGHUP
**取值范围**：整型，0 \~ 128。其中0表示关闭该参数功能。
**默认值：**3
#### autovacuum_naptime
**参数说明：**设置两次自动清理操作的时间间隔。
**参数类型：**SIGHUP
**取值范围：**整型，1～2147483 ，单位为秒（s）。
**默认值：**20s
#### 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-911-dws/dws_04_1062.html)系统表。该参数仅8.2.1及以上集群版本支持。
**参数类型：**USERSET
**取值范围：**布尔型
- on表示auto vacuum更新PG_STAT_OBJECT系统表。
- off表示auto vacuum不更新PG_STAT_OBJECT系统表。
**默认值：**on
