vacuum OK (KingbaseES V008R006C009B0014, primary, system@local, 2026-10-07T17:20:54+08:00)
settings
autovacuum on (3 workers, naptime 1m 0s)
track_counts on
threshold 50 + 0.2 x reltuples
running: 0
tables in test: 98, most dead tuples first
table dead live threshold due autovacuum last autovacuum last vacuum
sysmac.sysmac_policy 0 0 50.2 - on never never
sysmac.sysmac_level 0 0 50.8 - on never never
sysmac.sysmac_compartment 0 0 50 - on never never
sysmac.sysmac_label 0 0 50.8 - on never never
sysmac.sysmac_policy_enforcement 0 0 50 - on never never
sysmac.sysmac_user 0 0 50 - on never never
sysmac.sysmac_obj 0 0 50 - on never never
sysmac.sysmac_column_label 0 0 50 - on never never
sys_hm.check_type 0 0 50.4 - on never never
sys_hm.hm_run_t 0 0 50 - on never never
sys_hm.check_param 0 0 50.2 - on never never
sys.dual 0 0 50.2 - on never never
sys_catalog._kingbase_loginfo 0 0 50 - on never never
public.t1 0 0 50 - on never never
public.t_perf_test 0 0 20050 - on never never
kdb_schedule.kdb_jobagent 0 0 50 - on never never
kdb_schedule.kdb_jobclass 0 0 50 - on never never
kdb_schedule.kdb_action 0 0 50 - on never never
kdb_schedule.kdb_schedule 0 0 50 - on never never
kdb_schedule.kdb_schedule_job 0 0 50 - on never never
... 78 more not shown (--limit 0 shows all)
EXIT_CODE=0
列表按死元组数排序,最上面的行都是 0,所以没有表过线。每张表的 last autovacuum never 只说明统计重置以来 autovacuum 没轮到过它们。
备库
~/kbdiag vacuum
echoEXIT_CODE=$?
vacuum OK (KingbaseES V008R006C009B0014, standby, system@local, 2026-10-07T17:21:01+08:00)
settings
autovacuum on (3 workers, naptime 1m 0s)
track_counts on
threshold 50 + 0.2 x reltuples
running: not_applicable (standby: autovacuum does not run here; run on the primary)
tables in test: not_applicable (standby: table statistics are local to each node and stay 0 here; run on the primary)
EXIT_CODE=0
vacuum WARN (KingbaseES V008R006C009B0014, primary, system@local, 2026-10-07T17:21:12+08:00)
[WARN] vacuum.table_disabled table public.kbdiag_inj_dead has 5000 dead tuples, past its autovacuum threshold 2050, but autovacuum is off for it (autovacuum_enabled=off): nothing will clean it
fix: VACUUM public.kbdiag_inj_dead # connected to database test; turn autovacuum back on with ALTER TABLE ... RESET (autovacuum_enabled) unless it was turned off on purpose
verify: kbdiag txn # if dead tuples remain after VACUUM: the oldest transaction holding back the horizon
verify: kbdiag slots # or a replication slot's xmin
settings
autovacuum on (3 workers, naptime 1m 0s)
track_counts on
threshold 50 + 0.2 x reltuples
running: 0
tables in test: 99, most dead tuples first
table dead live threshold due autovacuum last autovacuum last vacuum
public.kbdiag_inj_dead 5000 5000 2050 yes off never never
sysmac.sysmac_policy 0 0 50.2 - on never never
sysmac.sysmac_level 0 0 50.8 - on never never
sysmac.sysmac_compartment 0 0 50 - on never never
sysmac.sysmac_label 0 0 50.8 - on never never
sysmac.sysmac_policy_enforcement 0 0 50 - on never never
sysmac.sysmac_user 0 0 50 - on never never
sysmac.sysmac_obj 0 0 50 - on never never
sysmac.sysmac_column_label 0 0 50 - on never never
sys_hm.check_type 0 0 50.4 - on never never
sys_hm.hm_run_t 0 0 50 - on never never
sys_hm.check_param 0 0 50.2 - on never never
sys.dual 0 0 50.2 - on never never
sys_catalog._kingbase_loginfo 0 0 50 - on never never
public.t1 0 0 50 - on never never
public.t_perf_test 0 0 20050 - on never never
kdb_schedule.kdb_jobagent 0 0 50 - on never never
kdb_schedule.kdb_jobclass 0 0 50 - on never never
kdb_schedule.kdb_action 0 0 50 - on never never
kdb_schedule.kdb_schedule 0 0 50 - on never never
... 79 more not shown (--limit 0 shows all)
EXIT_CODE=1