Re: FATAL Idle transaction timeout - TRX Commit

From: Christophe Pettus <xof(at)thebuild(dot)com>
To: dinesh kumar <dineshkumar02(at)gmail(dot)com>
Cc: Justin <zzzzz(dot)graf(at)gmail(dot)com>, Postgres General <pgsql-general(at)postgresql(dot)org>
Subject: Re: FATAL Idle transaction timeout - TRX Commit
Date: 2026-09-05 04:18:00
Message-ID: 5EF340AE-B35F-4386-91DF-F817C061886B@thebuild.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-general


> On Sep 4, 2026, at 20:43, dinesh kumar <dineshkumar02(at)gmail(dot)com> wrote:
>
> Hi Justin,
>
> Thanks for the clarification. There were no parallel sessions while we deleted those records.
>
> It was a single session and a single transaction only.
>
> If the transaction was aborted for any reason, like ERROR or FATAL (I assume the connection will close or reset, starting a new session), then the previous state of the transaction and session will also be rolled back, right?
>
> This is the behaviour we regularly see. However, as you see in the reported cases above, this rollback was not occurring.
>
> After FATAL,
>
> We started a new transaction,
>
> It executed the previous transaction's statement (which was aborted due to idle timeout) as a single statement (with autocommit). Is this the correct behaviour? No Right ?

It's very unlikely that there is a bug in this area. I suspect that statements are being delivered out of order from how they appear.

My suggestion is to set log_min_statement_duration to 0 to capture a few incidents of this, so you can see what the actual sequencing of the statements is.

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Greg Sabino Mullane 2026-09-05 13:29:29 Re: FATAL Idle transaction timeout - TRX Commit
Previous Message dinesh kumar 2026-09-05 03:43:24 Re: FATAL Idle transaction timeout - TRX Commit