Re: SET transaction_timeout inside a transaction

From: Bzzzz <lazyvirus(at)gmx(dot)com>
To: pgsql-novice(at)lists(dot)postgresql(dot)org
Subject: Re: SET transaction_timeout inside a transaction
Date: 2025-09-19 20:21:49
Message-ID: 20250919222149.27ab94c8@msi
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-novice

On Fri, 19 Sep 2025 22:12:59 +0200
"Quentin de Metz" <quentin(at)de(dot)me(dot)tz> wrote:

> Hello,

Hi,

> It appears that changing the transaction_timeout when inside a
> transaction does not work as expected.
>
> Running the following script on master:
>
> SET transaction_timeout = '1s';
> BEGIN;
> SET transaction_timeout = '3s';
> SELECT pg_sleep(2);
>
> Fails with the following:
>
> FATAL: terminating connection due to transaction timeout
> server closed the connection unexpectedly
> This probably means the server terminated abnormally
> before or while processing the request.
>
> A workaround is to "SET transaction_timeout = 0" before each
> override. But this resets the timer, which may not be aligned with
> this parameter's intention.

You'll see what others will say, but it looks pretty logical to me to
forbid an action on the one parameter your transaction directly depends
on when inside it.

Jean-Yves
--

In response to

Browse pgsql-novice by date

  From Date Subject
Next Message David G. Johnston 2025-09-19 20:24:18 Re: SET transaction_timeout inside a transaction
Previous Message Tom Lane 2025-09-19 20:21:00 Re: SET transaction_timeout inside a transaction