Change unit of idle_replication_slot_timeout to seconds.
Fujii Masao <fujii@postgresql.org>
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.morling@googlemail.com> Author: Fujii Masao <masao.fujii@gmail.com> Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at> Reviewed-by: David G. Johnston <david.g.johnston@gmail.com> Reviewed-by: Amit Kapila <amit.kapila16@gmail.com> Reviewed-by: Hayato Kuroda <kuroda.hayato@fujitsu.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CADGJaX_0+FTguWpNSpgVWYQP_7MhoO0D8=cp4XozSQgaZ40Odw@mail.gmail.com Backpatch-through: 18
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/config.sgml | modified | +1 −1 |
| src/backend/replication/slot.c | modified | +9 −12 |
| src/backend/utils/misc/guc_tables.c | modified | +3 −3 |
| src/backend/utils/misc/postgresql.conf.sample | modified | +1 −1 |
| src/include/replication/slot.h | modified | +1 −1 |
Documentation touched
Discussion
- Unexpected behavior when setting "idle_replication_slot_timeout" 38 messages · 2025-07-04 → 2025-07-11