Re: Unexpected behavior when setting "idle_replication_slot_timeout"
От | Fujii Masao |
---|---|
Тема | Re: Unexpected behavior when setting "idle_replication_slot_timeout" |
Дата | |
Msg-id | 70b183fb-f66e-40d8-b0de-be8c1052fa93@oss.nttdata.com обсуждение исходный текст |
Ответ на | Unexpected behavior when setting "idle_replication_slot_timeout" (Gunnar Morling <gunnar.morling@googlemail.com>) |
Ответы |
Re: Unexpected behavior when setting "idle_replication_slot_timeout"
|
Список | pgsql-bugs |
On 2025/07/05 13:06, Amit Kapila wrote: > On Fri, Jul 4, 2025 at 9:54 PM Fujii Masao <masao.fujii@oss.nttdata.com> 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. >> > > We expect the value of this variable to be in hours or, in some cases, > days. Specifying in seconds would be inconvenient for users. Now, I > agree there is a value in testing/debugging to allow it to be seconds, > but the same could be said for other variables whose units are in > minutes, like log_rotation_age and wal_summary_keep_time. Even if we change the unit to seconds (GUC_UNIT_S), it's still possible to set the timeout values such as hours or days. For example, even with the patch, we can set the timeout to 365 days: =# ALTER SYSTEM SET idle_replication_slot_timeout TO '365d'; =# SELECT pg_reload_conf(); =# SHOW idle_replication_slot_timeout ; idle_replication_slot_timeout ------------------------------- 365d (1 row) Do you see any serious downside to switching the unit to seconds? I don't think it introduces any serious issues. On the contrary, it gives users finer control over the timeout, and additionally works around the issue that we're discussing here. Regards, -- Fujii Masao NTT DATA Japan Corporation
В списке pgsql-bugs по дате отправления: