Re: client_connection_check_interval default value
Tom Lane <tgl@sss.pgh.pa.us>
From: Tom Lane <tgl@sss.pgh.pa.us>
To: Fujii Masao <masao.fujii@gmail.com>
Cc: Jeremy Schneider <schneider@ardentperf.com>,
Jacob Champion <jacob.champion@enterprisedb.com>,
"pgsql-hackers@lists.postgresql.org"
<pgsql-hackers@lists.postgresql.org>,
Marat Buharov <marat.buharov@gmail.com>,
Greg Sabino Mullane <htamfids@gmail.com>,
Thomas Munro <thomas.munro@gmail.com>
Date: 2026-02-06T00:01:52Z
Lists: pgsql-hackers
Fujii Masao <masao.fujii@gmail.com> writes: > On Fri, Feb 6, 2026 at 8:05 AM Jeremy Schneider > <schneider@ardentperf.com> wrote: >> I did see a real system outage that could have been prevented by an >> appropriate default value here, since I didn't yet know to change it. > I'm not sure that client_connection_check_interval needs to be enabled > by default. I think enabling it by default is a nonstarter, because it changes behavior in a significant way. Specifically, it's always been the case that if the client disconnects during a non-SELECT query (or anything that doesn't produce output), the backend would complete that query before ending the session. I think it's very likely that there are users depending on that behavior. Jeremy is describing an application that evidently was built on the assumption that disconnecting early would abort a wait, but that assumption was not based on any testing. I think it's good that we now have an option to make such an assumption hold, but that does not translate to "we should force that behavior on everybody". Whether or not the overhead is insignificant, there's a good chance that the change would make more people unhappy than happy. > The issue is that backends blocked in ProcSleep() are woken up every > client_connection_check_interval and may emit a "still waiting" message > each time if log_lock_waits is enabled. To mitigate this, just one idea is > to add a flag to track whether the "still waiting" message has already been > emitted during a call to ProcSleep(), and suppress further messages > once it has been logged. Independently of what's the default, it seems like it'd be valuable to make that interaction better. I think it is reasonable to keep on emitting "still waiting" every so often, but we could probably rate-limit that to a lot less than every 2 seconds. regards, tom lane
Commits
-
Add TAP tests for log_lock_waits
- ca2b5443e2dc 19 (unreleased) landed
-
Add tests for lock statistics, take two
- 557a9f1e3e62 19 (unreleased) cited
-
Ensure "still waiting on lock" message is logged only once per wait.
- fd6ecbfa75ff 19 (unreleased) landed