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 <[email protected]> Author: Fujii Masao <[email protected]> Reviewed-by: Laurenz Albe <[email protected]> Reviewed-by: David G. Johnston <[email protected]> Reviewed-by: Amit Kapila <[email protected]> Reviewed-by: Hayato Kuroda <[email protected]> Reviewed-by: Tom Lane <[email protected]> Discussion: https://postgr.es/m/CADGJaX_0+FTguWpNSpgVWYQP_7MhoO0D8=cp4xozsqgaz40...@mail.gmail.com Backpatch-through: 18 Branch ------ master Details ------- https://git.postgresql.org/pg/commitdiff/05dedf43d380edc98546c381e76a9d907fd19bed 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(-)
