数据仓库服务 GAUSSDB(DWS)-自动清理:autovacuum

时间:2024-11-28 17:37:14

autovacuum

参数说明:控制是否启动数据库自动清理进程(autovacuum)。自动清理进程运行的前提是将track_counts设置为on。

8.1.3及以上集群版本的自动清理功能已支持通过管理控制台操作,详情请参考智能运维概览章节,8.1.2及以下集群版本按照设置GUC参数的方式进行操作。

参数类型:SIGHUP

取值范围:布尔型

  • on表示开启数据库自动清理进程。
  • off表示关闭数据库自动清理进程。

默认值:on

如系统在故障恢复后,需具备自动清理两阶段事务的功能,请将autovacuum设置为on。
  • 当设置autovacuum为on,autovacuum_max_workers为0时,表示系统不会自动进行autovacuum,只会在故障恢复后,自动清理两阶段事务。
  • 当设置autovacuum为on,autovacuum_max_workers大于0时,表示系统不仅在故障恢复后,自动清理两阶段事务,并且还可以自动清理进程。
即使此参数设置为off,数据库也会在需要防止事务ID回卷时发起清理进程。对于CREATE/DROP DATABASE发生异常时,可能有的节点提交或回滚,有的节点未提交(prepared状态),此时系统不能自动修复,需要手动修复,修复步骤:
  1. 使用gs_clean工具(-N参数)查询出异常两阶段事务的xid以及处于prepared的节点。
  2. 登录事务处于prepared状态的节点,系统管理员连接一个可用的数据库(如gaussdb),执行语句SET xc_maintenance_mode = on。
  3. 根据事务全局状态提交或者回滚此两阶段事务(如提交语句、回滚语句)。
  4. 如果集群长时间保持autovacuum=off的配置状态时,如需修改为on,必须集群的关键系统表先执行一次VACUUM FULL。这些关键系统表包括但不限于pg_class、pg_attribute、pg_index、pg_type、pg_statistic、pg_statistic_ext、pg_proc、pg_partition、pg_constraint、pg_inherits、pg_rewrite、pg_description、pg_depend、pg_shdepend、pg_shdescription、pgxc_class、pg_jobs、pg_redaction_policy、pg_redaction_column、pg_object及pg_relfilenode_size。
support.huaweicloud.com/devg-dws/dws_04_0923.html