Re: Unexpected behavior when setting "idle_replication_slot_timeout"

Laurenz Albe <laurenz.albe@cybertec.at>

From: Laurenz Albe <laurenz.albe@cybertec.at>
To: Fujii Masao <masao.fujii@oss.nttdata.com>, Nisha Moond <nisha.moond412@gmail.com>, Gunnar Morling <gunnar.morling@googlemail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-07-04T22:08:16Z
Lists: pgsql-bugs
On Sat, 2025-07-05 at 01:24 +0900, Fujii Masao wrote:
> On 2025/07/05 1:07, Laurenz Albe wrote:
> > On Sat, 2025-07-05 at 00:22 +0900, Fujii Masao wrote:
> > > On 2025/07/04 23:12, Fujii Masao wrote:
> > > > But I wonder why the current unit of this GUC is minutes (GUC_UNIT_MIN).
> > > > Since at least two users (including myself) tried to set it to a value
> > > > less than 1 minute, it might worth considering changing the unit to seconds
> > > > (GUC_UNIT_S). Also which would reduces the chance of the reported trouble.
> > > 
> > > Attached patch changes unit of idle_replication_slot_timeout to seconds.
> > 
> > -1
> > 
> > I think that the reason that several users tried to set it it less than a minute
> > is that they were trying to test the feature and didn't want to wait long.
> > I cannot imagine that anybody will want to abandon a standby server just
> > because it is idle for more than 30 seconds.
> 
> Maybe. But changing the unit to seconds doesn't make things worse, does it?
> It still allows users to set values greater than 1 minute, and also less than
> 1 minute for debugging or testing purposes, if needed.
> 
> Or are you suggesting we should disallow values below 1 minute?

I guess you are right.  There is no problem with second precision, even if
the use case in this case was artificial.
I withdraw my objection.

Gunnar Morlin wrote:
> I also was/am confused by the term "idle" here; it isn't fully clear to me
> what it means for a slot to be idle, and in particular whether it is different
> from a slot being inactive.  [...]
>
> If so, "inactive_replication_slot_timeout" might be a more consistent name
> for that option?

Perhaps.  I must say that I don't care so much about the name, as long as the
documentation doesn't leave any doubts.

Yours,
Laurenz Albe



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.