From 0e8e5e856cc37cfcd8ac458dddd71f89d516fc27 Mon Sep 17 00:00:00 2001 From: Daniel Gustafsson Date: Tue, 25 Apr 2023 13:54:10 +0200 Subject: [PATCH] Fix vacuum_cost_delay check for balance calculation. Commit 1021bd6a89 excluded autovacuum workers from cost-limit balance calculations when per-relation options were set. The code checks for limit and cost_delay being greater than zero, but since cost_delay can be set to -1 the test needs to check for greater than or zero. Backpatch to all supported branches since 1021bd6a89 was backpatched all the way at the time. Author: Masahiko Sawada Reviewed-by: Melanie Plageman Reviewed-by: Daniel Gustafsson Discussion: https://postgr.es/m/CAD21AoBS7o6Ljt_vfqPQPf67AhzKu3fR0iqk8B=vVYczMugKMQ@mail.gmail.com Backpatch-through: v11 (all supported branches) --- src/backend/postmaster/autovacuum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 6c73d32ad2..13fa79b06b 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -2963,7 +2963,7 @@ table_recheck_autovac(Oid relid, HTAB *table_toast_map, */ tab->at_dobalance = !(avopts && (avopts->vacuum_cost_limit > 0 || - avopts->vacuum_cost_delay > 0)); + avopts->vacuum_cost_delay >= 0)); /* * When we decide to do vacuum or analyze, the existing stats cannot