Re: Unexpected behavior when setting "idle_replication_slot_timeout"

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: Fujii Masao <masao.fujii@oss.nttdata.com>, Amit Kapila <amit.kapila16@gmail.com>, Laurenz Albe <laurenz.albe@cybertec.at>, Nisha Moond <nisha.moond412@gmail.com>, Gunnar Morling <gunnar.morling@googlemail.com>, "pgsql-bugs@lists.postgresql.org" <pgsql-bugs@lists.postgresql.org>
Date: 2025-07-05T16:13:08Z
Lists: pgsql-bugs
I wrote:
> I'm kind of down on changing the unit, because it will *silently*
> break configuration files where the value was set without a unit.

Oh, wait a second.  I just noticed that this variable is new in v18.
So there won't be a compatibility issue as long as we change it in
v18 too.  So changing it to a base of seconds seems sufficient,
and more in line with existing practice:

regression=# select name,unit from pg_settings where name like '%timeout';
                name                 | unit 
-------------------------------------+------
 archive_timeout                     | s
 authentication_timeout              | s
 checkpoint_timeout                  | s
 deadlock_timeout                    | ms
 idle_in_transaction_session_timeout | ms
 idle_replication_slot_timeout       | min
 idle_session_timeout                | ms
 lock_timeout                        | ms
 statement_timeout                   | ms
 tcp_user_timeout                    | ms
 transaction_timeout                 | ms
 wal_receiver_timeout                | ms
 wal_sender_timeout                  | ms
(13 rows)

Using 'ms' seems clearly overkill, but there's precedent for
timeouts measured in seconds.

			regards, tom lane



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.