From 0151d2c5f256063c6143778062d4685bb08b2db7 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 cef8e230a9..63fb036248 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -2924,7 +2924,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)); } heap_freetuple(classTup);