Re: Transaction timeout
Nathan Bossart <nathandbossart@gmail.com>
From: Nathan Bossart <nathandbossart@gmail.com>
To: Andrey Borodin <amborodin86@gmail.com>
Cc: Andres Freund <andres@anarazel.de>, Michael Paquier <michael.paquier@gmail.com>, Nikolay Samokhvalov <samokhvalov@gmail.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2023-01-12T19:24:36Z
Lists: pgsql-hackers
On Sun, Dec 18, 2022 at 12:53:31PM -0800, Andrey Borodin wrote: > I've rewritten this part to correctly report all timeouts that did > happen. However there's now a tricky comma-formatting code which was > tested only manually. I suspect this will make translation difficult. >> > > > + ahprintf(AH, "SET transaction_timeout = 0;\n"); >> > > >> > > Hm - why is that the right thing to do? >> > Because transaction_timeout has effects of statement_timeout. >> >> I guess it's just following precedent - but it seems a bit presumptuous >> to just disable safety settings a DBA might have set up. That makes some >> sense for e.g. idle_in_transaction_session_timeout, because I think >> e.g. parallel backup can lead to a connection being idle for a bit. > > I do not know. My reasoning - everywhere we turn off > statement_timeout, we should turn off transaction_timeout too. > But I have no strong opinion here. I left this code as is in the patch > so far. For the same reason I did not change anything in > pg_backup_archiver.c. From 8383486's commit message: We disable statement_timeout and lock_timeout during dump and restore, to prevent any global settings that might exist from breaking routine backups. I imagine changing this could disrupt existing servers that depend on these overrides during backups, although I think Andres has a good point about disabling safety settings. This might be a good topic for another thread. -- Nathan Bossart Amazon Web Services: https://aws.amazon.com
Commits
-
Add TAP tests for timeouts
- eeefd4280f6e 17.0 landed
-
Remove flaky isolation tests for timeouts
- a661bf7b0f56 17.0 landed
-
Followup fixes for transaction_timeout
- bf82f43790a6 17.0 landed
-
Introduce transaction_timeout
- 51efe38cb92f 17.0 landed
-
On systems that have setsid(2) (which should be just about everything except
- 3ad0728c817b 8.2.0 cited