On Tue, 19 Nov 2024 at 12:51, Nisha Moond <nisha.moond...@gmail.com> wrote: > > On Thu, Nov 14, 2024 at 9:14 AM vignesh C <vignes...@gmail.com> wrote: > > > > On Wed, 13 Nov 2024 at 15:00, Nisha Moond <nisha.moond...@gmail.com> wrote: > > > > > > Please find the v48 patch attached. > > > > > 2) Currently it allows a minimum value of less than 1 second like in > > milliseconds, I feel we can have some minimum value at least something > > like checkpoint_timeout: > > diff --git a/src/backend/utils/misc/guc_tables.c > > b/src/backend/utils/misc/guc_tables.c > > index 8a67f01200..367f510118 100644 > > --- a/src/backend/utils/misc/guc_tables.c > > +++ b/src/backend/utils/misc/guc_tables.c > > @@ -3028,6 +3028,18 @@ struct config_int ConfigureNamesInt[] = > > NULL, NULL, NULL > > }, > > > > + { > > + {"replication_slot_inactive_timeout", PGC_SIGHUP, > > REPLICATION_SENDING, > > + gettext_noop("Sets the amount of time a > > replication slot can remain inactive before " > > + "it will be invalidated."), > > + NULL, > > + GUC_UNIT_S > > + }, > > + &replication_slot_inactive_timeout, > > + 0, 0, INT_MAX, > > + NULL, NULL, NULL > > + }, > > > > Currently, the feature is disabled by default when > replication_slot_inactive_timeout = 0. However, if we set a minimum > value, the default_val cannot be less than min_val, making it > impossible to use 0 to disable the feature. > Thoughts or any suggestions?
We could implement this similarly to how the vacuum_buffer_usage_limit GUC is handled. Setting the value to 0 would allow the operation to use any amount of shared_buffers. Otherwise, valid sizes would range from 128 kB to 16 GB. Similarly, we can modify check_replication_slot_inactive_timeout to behave in the same way as check_vacuum_buffer_usage_limit function. Regards, Vignesh