Re: POC: enable logical decoding when wal_level = 'replica' without a server restart - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Date
Msg-id CAA4eK1+KE-=d2oFLSOm_Z8FK94ZWW_X3Vta3vOd3gsNpB+WxkQ@mail.gmail.com
Whole thread Raw
In response to Re: POC: enable logical decoding when wal_level = 'replica' without a server restart  (Amit Kapila <amit.kapila16@gmail.com>)
Responses Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
Re: POC: enable logical decoding when wal_level = 'replica' without a server restart
List pgsql-hackers
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.



pgsql-hackers by date:

Previous
From: Nazir Bilal Yavuz
Date:
Subject: Re: Explicitly enable meson features in CI
Next
From: Amit Kapila
Date:
Subject: Re: POC: enable logical decoding when wal_level = 'replica' without a server restart