On Wed, Jun 18, 2025 at 3:23 PM shveta malik <shveta.malik@gmail.com> wrote:
>
> On Wed, Jun 18, 2025 at 2:39 PM Bertrand Drouvot
> <bertranddrouvot.pg@gmail.com> wrote:
> >
> > Hi,
> >
> > On Tue, Jun 10, 2025 at 02:00:55PM -0700, Masahiko Sawada wrote:
> > > > > > > > 0001 patch allows us to create a logical slot without WAL reservation.
> >
> > Thanks for the patch and sorry to be late in this conversation.
> >
> > The thing that worry me a bit with this is that that could be easy to attempt
> > to use the slot "by mistake" and then (as a consequence) trigger WAL reservation
> > by mistake on the primary. I think that this mistake is more likely to happen
> > with a logical slot as compared to a physical slot.
> >
>
> Yes, agreed. Another concern is the possibility of someone
> intentionally using it and associating it with a subscription. If the
> subscription is later dropped, it could also cause the slot to be
> removed.
>
IIUC, your main concern here is that the last slot on
primary/publisher could be dropped unintentionally by the user leading
to invalidating the logical slots on any physical-standby connected
with publisher, right?
What if we make DROP SUBSCRIPTION fail if it can lead to removal of
the last slot on publisher and allow DROP to succeed when the
subscription's drop_slot_force (a new subscription option) is set?
Now, users can still be allowed to Drop the subscription, if it
disassociates the subscription from the slot by using method explained
in docs [1] (See Notes section). Similarly when a user is trying to
drop the last logical slot via pg_drop_replication_slot, we will allow
it only with the force option. This should ensure that the user is
aware of the consequences of dropping the last slot.
--
With Regards,
Amit Kapila.