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 →
  1. doc: Clarify meaning of "idle" in idle_replication_slot_timeout.

  2. Change unit of idle_replication_slot_timeout to seconds.