Hi,

On 6/19/23 12:03 PM, Amit Kapila wrote:
On Mon, Jun 19, 2023 at 11:34 AM Drouvot, Bertrand
<bertranddrouvot...@gmail.com> wrote:

Also I think we need to handle the case of invalidated replication slot(s): 
should
we drop/recreate it/them? (as the main goal is to have sync slot(s) on the 
standby).


Do you intend to ask what happens to logical slots invalidated (due to
say max_slot_wal_keep_size) on publisher? I think those should be
invalidated on standby too.

Agree that it should behave that way.

Another thought whether there is chance
that the slot on standby gets invalidated due to conflict (say
required rows removed on primary)?

That's the scenario I had in mind when asking the question above.

I think in such cases the slot on
primary/publisher should have been dropped/invalidated by that time.

I don't think so.

For example, such a scenario could occur:

- there is no physical slot between the standby and the primary
- the standby is shut down
- logical decoding on the primary is moving forward and now there is vacuum
operations that will conflict on the standby
- the standby starts and reports the logical slot being invalidated (while it is
not on the primary)

In such a case (slot valid on the primary but invalidated on the standby) then 
I think we
could drop and recreate the invalidated slot on the standby.

BTW, does the patch handles drop of logical slots on standby when the
same slot is dropped on publisher/primary?


from what I've seen, yes it looks like it behaves that way (will look closer).

Regards,

--
Bertrand Drouvot
PostgreSQL Contributors Team
RDS Open Source Databases
Amazon Web Services: https://aws.amazon.com


Reply via email to