Re: Terminate the idle sessions

From: Li Japin <japinli(at)hotmail(dot)com>
To: Cary Huang <cary(dot)huang(at)highgo(dot)ca>, "david(dot)g(dot)johnston(at)gmail(dot)com" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: "pgsql-hackers(at)lists(dot)postgresql(dot)org" <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Terminate the idle sessions
Date: 2020-08-11 03:14:58
Message-ID: 664DB575-D4B8-4998-9B91-B12BCD6C24A6@hotmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Aug 11, 2020, at 5:42 AM, Cary Huang <cary(dot)huang(at)highgo(dot)ca<mailto:cary(dot)huang(at)highgo(dot)ca>> wrote:

I applied this patch to the PG13 branch and generally this feature works as described. The new "idle_session_timeout" that controls the idle session disconnection is not in the default postgresql.conf and I think it should be included there with default value 0, which means disabled.

Thanks for looking at it!

I’ve attached a new version that add “idle_session_timeout” in the default postgresql.conf.

On Mon, Aug 10, 2020 at 2:43 PM Cary Huang <cary(dot)huang(at)highgo(dot)ca<mailto:cary(dot)huang(at)highgo(dot)ca>> wrote:
There is currently no enforced minimum value for "idle_session_timeout" (except for value 0 for disabling the feature), so user can put any value larger than 0 and it could be very small like 500 or even 50 millisecond, this would make any psql connection to disconnect shortly after it has connected, which may not be ideal. Many systems I have worked with have 30 minutes inactivity timeout by default, and I think it would be better and safer to enforce a reasonable minimum timeout value

I'd accept a value of say 1,000 being minimum in order to reinforce the fact that a unit-less input, while possible, is taken to be milliseconds and such small values most likely mean the user has made a mistake. I would not choose a minimum allowed value solely based on our concept of "reasonable". I don't imagine a value of say 10 seconds, while seemingly unreasonable, is going to be unsafe.

I think David is right, see “idle_in_transaction_session_timeout”, it also doesn’t have a “reasonable” minimum value.

Attachment Content-Type Size
v2-0001-Allow-terminating-the-idle-sessions.patch application/octet-stream 9.4 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2020-08-11 04:38:58 Re: stress test for parallel workers
Previous Message Andy Fan 2020-08-11 02:43:23 Can I test Extended Query in core test framework