Re: FATAL Idle transaction timeout - TRX Commit - Mailing list pgsql-general

From Merlin Moncure
Subject Re: FATAL Idle transaction timeout - TRX Commit
Date
Msg-id CAHyXU0x5VEteKVjVrUcOuYpk+M4CX=pJyoQumYgUahwHx3yGtA@mail.gmail.com
Whole thread
In response to FATAL Idle transaction timeout - TRX Commit  (dinesh kumar <dineshkumar02@gmail.com>)
List pgsql-general
On Sat, Sep 5, 2026 at 7:30 AM Greg Sabino Mullane <htamfids@gmail.com> wrote:
This is not a normal FATAL from the server - that particular message is coming from pgcat, not from Postgres. So the normal FATAL/connection terminated/reconnect flow is not relevant here, as it is pgcat that is responsible for all this. The FATAL is being sent to the client only - pgcat is probably releasing that connection and fetching you a new one in the background. Try tweaking your idle_client_in_transaction_timeout setting in your pgcat config to duplicate/debug the behavior, and sprinkle some pg_backend_pid() calls in there.

100% this.  It looks like pgcat may be mixing up the sessions so that a transaction might not be 'pinned' properly to a single client after being opened.  I can't say for sure since I'm not so familiar with pgcat but this looks dangerous; somehow an open transaction may have been checked back into the pool.

merlin

pgsql-general by date:

Previous
From: Merlin Moncure
Date:
Subject: Re: introducing pgasync and pgflow
Next
From: Ron Johnson
Date:
Subject: Re: What is the cost of a tx?