Further second thoughts about idle_session_timeout patch. On reflection, the order of operations in PostgresMain() is wrong. These timeouts ought to be shut down before, not after, we do the post-command-read CHECK_FOR_INTERRUPTS, to guarantee that any timeout error will be detected there rather than at some ill-defined later point (possibly after having wasted a lot of work).
This is really an error in the original idle_in_transaction_timeout patch, so back-patch to 9.6 where that was introduced. Branch ------ REL_12_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/f2a69e90472f9a78b1d57bcfda4f2cb15ede2ab2 Modified Files -------------- src/backend/tcop/postgres.c | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-)
