From deaf24759d8399f56d7e155758df7771f6ee628f Mon Sep 17 00:00:00 2001
From: Daniil Davidov <d.davydov@postgrespro.ru>
Date: Wed, 11 Mar 2026 17:53:09 +0700
Subject: [PATCH] fixes for 0004

---
 src/backend/postmaster/autovacuum.c           | 25 +++++--------------
 .../t/001_parallel_autovacuum.pl              |  4 +--
 2 files changed, 8 insertions(+), 21 deletions(-)

diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c
index 869ca8f759b..7e994e88853 100644
--- a/src/backend/postmaster/autovacuum.c
+++ b/src/backend/postmaster/autovacuum.c
@@ -1410,18 +1410,7 @@ avl_sigusr2_handler(SIGNAL_ARGS)
 static void
 autovacuum_worker_before_shmem_exit(int code, Datum arg)
 {
-	int nreserved_old = av_nworkers_reserved;
-
 	AutoVacuumReleaseAllParallelWorkers();
-
-	if (nreserved_old > 0)
-	{
-		elog(DEBUG2,
-			 ngettext("autovacuum worker before_shmem_exit: %d parallel worker has been released",
-					  "autovacuum worker before_shmem_exit: %d parallel workers has been released",
-						nreserved_old - av_nworkers_reserved),
-			 nreserved_old - av_nworkers_reserved);
-	}
 }
 
 /*
@@ -2507,20 +2496,12 @@ do_autovacuum(void)
 		}
 		PG_CATCH();
 		{
-			int	nreserved_workers = av_nworkers_reserved;
-
 			/*
 			 * Parallel autovacuum can reserve parallel workers. Make sure
 			 * that all reserved workers are released.
 			 */
 			AutoVacuumReleaseAllParallelWorkers();
 
-			if (nreserved_workers > 0)
-				ereport(DEBUG2,
-						(errmsg("%d parallel autovacuum workers has been released after occured error",
-								nreserved_workers),
-						 errhidecontext(true)));
-
 			/*
 			 * Abort the transaction, start a new one, and proceed with the
 			 * next table in our list.
@@ -3467,6 +3448,12 @@ AutoVacuumReleaseParallelWorkers(int nworkers)
 
 	/* Don't have to remember these workers anymore. */
 	av_nworkers_reserved -= nworkers;
+
+	elog(DEBUG2,
+		 ngettext("autovacuum worker: %d parallel worker has been released",
+				  "autovacuum worker: %d parallel workers has been released",
+				  nworkers),
+		 nworkers);
 }
 
 /*
diff --git a/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl b/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
index 7f8b5a7b4d3..e5dacf59980 100644
--- a/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
+++ b/src/test/modules/test_autovacuum/t/001_parallel_autovacuum.pl
@@ -249,7 +249,7 @@ $log_start = $node->wait_for_log(
 );
 
 $log_start = $node->wait_for_log(
-	qr/2 parallel autovacuum workers has been released after occured error/,
+	qr/autovacuum worker: 2 parallel workers has been released/,
 	$log_start
 );
 
@@ -286,7 +286,7 @@ $node->safe_psql('postgres', qq{
 });
 
 $log_start = $node->wait_for_log(
-	qr/autovacuum worker before_shmem_exit: 2 parallel workers has been released/,
+	qr/autovacuum worker: 2 parallel workers has been released/,
 	$log_start
 );
 
-- 
2.43.0

