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

自动清理

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

autovacuum_compaction_rows_limit

参数说明:小CU的阈值,存活元组数小于这个值的就会被认为是小CU。该参数仅8.2.1.300及以上集群版本支持。

参数类型:USERSET

取值范围:整型,-1~5000

默认值:2500

版本低于9.1.0.100,禁止设置该参数,否则可能会导致主键数据重复

  • 版本低于9.1.0.100,默认值为-1,表示关闭0CU开关。
  • 9.1.0.100版本,该参数默认值为0。
  • 9.1.0.200及以上版本,该参数默认值为2500。
  • 该参数不建议自行修改,如需修改请联系技术支持。

autoanalyze_mode

参数说明:设置autoanalyze的模式。该参数仅8.2.0及以上集群版本支持。

参数类型:USERSET

取值范围:枚举类型

  • normal表示普通的autoanalyze。
  • light表示轻量化的autoanalyze。

默认值:

  • 若当前集群为低版本升级到8.2.0及以上集群版本,为保持和前向兼容,默认值为normal。
  • 若当前集群为新装的8.2.0及以上集群版本,默认值为light。

analyze_stats_mode

参数说明:设置analyze计算统计信息的模式。

参数类型:USERSET

取值范围:枚举类型

  • memory表示强制使用内存计算统计信息,不计算多列统计信息。
  • sample_table表示强制使用临时采样表计算统计信息,临时表不支持使用该模式。
  • dynamic表示按内存maintenance_work_mem大小自适应选择统计信息计算模式,若maintenance_work_mem可放下样本,则使用内存方式,否则使用临时采样表方式。

默认值:

  • 若当前集群为低版本升级到8.2.0.100及以上集群版本,为保持和前向兼容,默认值为memory。
  • 若当前集群为新装的8.2.0.100及以上集群版本,默认值为dynamic。

analyze_sample_mode

参数说明:设置analyze时使用的采样模型。

参数类型:USERSET

取值范围:整型,0~2。

  • 0 表示使用默认蓄水池采样模型。
  • 1 表示使用优化的蓄水池采样模型。
  • 2 表示使用range采样模型。

默认值:0

autovacuum_max_workers

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

参数类型:SIGHUP

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

默认值:6

该参数与#ZH-CN_TOPIC_0000001764650468/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,会对所有表做清理。

autovacuum_max_workers_hstore

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

参数类型:SIGHUP

取值范围:整型

默认值:3

当需要使用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系统表。该参数仅8.2.1及以上集群版本支持。

参数类型:USERSET

取值范围:布尔型

  • on表示auto vacuum更新PG_STAT_OBJECT系统表。
  • off表示auto vacuum不更新PG_STAT_OBJECT系统表。

默认值:on

相关文档

    提示

    您即将访问非华为云网站,请注意账号财产安全