Re: Unexpected behavior when setting "idle_replication_slot_timeout"
Laurenz Albe <laurenz.albe@cybertec.at>
From: Laurenz Albe <laurenz.albe@cybertec.at>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: smithpb2250@gmail.com, Amit Kapila <amit.kapila16@gmail.com>, Fujii
Masao <masao.fujii@oss.nttdata.com>, Nisha Moond
<nisha.moond412@gmail.com>, Gunnar Morling
<gunnar.morling@googlemail.com>, pgsql-bugs@lists.postgresql.org
Date: 2025-07-05T08:47:56Z
Lists: pgsql-bugs
On Fri, 2025-07-04 at 23:16 -0700, David G. Johnston wrote: > We should clearly document how rounding works in section 19.1.1 > (which we mostly do; "If the parameter is of integer type, a final rounding > to integer occurs after any unit conversion.") and not in every > time-related setting that chooses to use something larger than microseconds. > So, 30s is 'unit converted' up to 0.5 minutes (not explicitly explained...) > then rounded to zero (which is odd, half normally rounds up...). > I'm against cluttering up the individual settings docs with this detail. That's fine with me; do you have a patch? > If the change from idle to inactive is needed in the description we should > just admit we named it wrong in the first place. I had half a mind to propose renaming the parameter, but I shied from a lengthy bikeshedding discussion. Reading up on the archives, I see that Peter Smith proposed the term "idle" in [1], and nobody had any problem with it. For the record: I would be much more happy if the parameter were called "inactive_replication_slot_timeout", since we use the term "active" in "pg_replication_slots". Also, we call connections "idle" when they are established, but doing nothing, and this parameter is about disconnected replication connections. > As-is, the description > matches the name and the callout to the field in the second paragraph > precisely clears up what this setting at least cares about. The reader > should be directed to how that field is computed should they need clarification. > > Thus, I'd accept but not find required the idle/inactive wording change to > any of various degrees; and would ask that any clarification regarding > generic setting value interpretation be relegated to 19.1.1 where all > such settings can benefit. I am sure that there is some information in these sentences, but I cannot extract it, even after reading them twice. Yours, Laurenz Albe [1]: https://postgr.es/m/CAHut%2BPtHbYNxPvtMfs7jARbsVcFXL1%3DC9SO3Q93NgVDgbKN7LQ%40mail.gmail.com
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
doc: Clarify meaning of "idle" in idle_replication_slot_timeout.
- afb64a56d9c1 18.0 landed
- 110e6dcaa659 19 (unreleased) landed
-
Change unit of idle_replication_slot_timeout to seconds.
- 37c76aeb9ae3 18.0 landed
- 05dedf43d380 19 (unreleased) landed