From 44da139d4023f81109a0b8853711acc0cd9f0325 Mon Sep 17 00:00:00 2001 From: Sergei Patiakin Date: Wed, 30 Sep 2026 18:08:12 +0200 Subject: [PATCH v1] Handle effective_wal_level change in aborted transactions AtEOXact_LogicalCtl was called before XID was cleared, leading to a gap where effective_wal_level changes could be missed. Oversight in commit 67c20979ce7 --- src/backend/access/transam/xact.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/backend/access/transam/xact.c b/src/backend/access/transam/xact.c index 7b67db514ec..88f52bebdf2 100644 --- a/src/backend/access/transam/xact.c +++ b/src/backend/access/transam/xact.c @@ -2553,6 +2553,7 @@ CommitTransaction(void) * done with commit processing, set current transaction state back to * default */ + s->state = TRANS_DEFAULT; RESUME_INTERRUPTS(); @@ -3054,7 +3055,6 @@ AbortTransaction(void) AtEOXact_PgStat(false, is_parallel_worker); AtEOXact_ApplyLauncher(false); AtEOXact_LogicalRepWorkers(false); - AtEOXact_LogicalCtl(); pgstat_report_xact_timestamp(0); } @@ -3107,6 +3107,8 @@ CleanupTransaction(void) XactTopFullTransactionId = InvalidFullTransactionId; nParallelCurrentXids = 0; + AtEOXact_LogicalCtl(); + /* * done with abort processing, set current transaction state back to * default -- 2.47.3