Change unit of idle_replication_slot_timeout to seconds.

Previously, the idle_replication_slot_timeout parameter used minutes
as its unit, based on the assumption that values would typically exceed
one minute in production environments. However, this caused unexpected
behavior: specifying a value below 30 seconds would round down to 0,
effectively disabling the timeout. This could be surprising to users.

To allow finer-grained control and avoid such confusion, this commit changes
the unit of idle_replication_slot_timeout to seconds. Larger values can
still be specified easily using standard time suffixes, for example,
'24h' for 24 hours.

Back-patch to v18 where idle_replication_slot_timeout was added.

Reported-by: Gunnar Morling <gunnar.morl...@googlemail.com>
Author: Fujii Masao <masao.fu...@gmail.com>
Reviewed-by: Laurenz Albe <laurenz.a...@cybertec.at>
Reviewed-by: David G. Johnston <david.g.johns...@gmail.com>
Reviewed-by: Amit Kapila <amit.kapil...@gmail.com>
Reviewed-by: Hayato Kuroda <kuroda.hay...@fujitsu.com>
Reviewed-by: Tom Lane <t...@sss.pgh.pa.us>
Discussion: 
https://postgr.es/m/CADGJaX_0+FTguWpNSpgVWYQP_7MhoO0D8=cp4xozsqgaz40...@mail.gmail.com
Backpatch-through: 18

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/37c76aeb9ae30f3fee6ee86f54344670c7099d9c

Modified Files
--------------
doc/src/sgml/config.sgml                      |  2 +-
src/backend/replication/slot.c                | 21 +++++++++------------
src/backend/utils/misc/guc_tables.c           |  6 +++---
src/backend/utils/misc/postgresql.conf.sample |  2 +-
src/include/replication/slot.h                |  2 +-
5 files changed, 15 insertions(+), 18 deletions(-)

Reply via email to