Re: Track in pg_replication_slots the reason why slots conflict?

From: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: Andres Freund <andres(at)anarazel(dot)de>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Michael Paquier <michael(at)paquier(dot)xyz>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Track in pg_replication_slots the reason why slots conflict?
Date: 2023-12-21 14:51:24
Message-ID: ZYRQ7Nq1kwWTDdzk@ip-10-97-1-34.eu-west-3.compute.internal
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On Thu, Dec 21, 2023 at 07:55:51PM +0530, Amit Kapila wrote:
> On Thu, Dec 21, 2023 at 5:05 PM Andres Freund <andres(at)anarazel(dot)de> wrote:
> > I'm not entirely sure I understand the difference - just whether we add one
> > new column or replace the existing 'conflicting' column? I can see arguments
> > for either.
> >
>
> Agreed. I think the argument against replacing the existing
> 'conflicting' column is that there is a chance that it is being used
> by some monitoring script which I guess shouldn't be a big deal to
> change. So, if we don't see that as a problem, I would prefer to have
> a single column with conflict reason where one of its values indicates
> there is no conflict.

+1

> A conflicting column where NULL indicates no conflict, and other
> > values indicate the reason for the conflict, doesn't seem too bad.
> >
>
> This is fine too.

+1

> >
> > > And if we plan to return/display cause from either function or view,
> > > then shall it be enum 'ReplicationSlotInvalidationCause' or
> > > description/text corresponding to enum?
> >
> > We clearly can't just expose the numerical value for a C enum. So it has to be
> > converted to something SQL representable.
> >
>
> We can return int2 value from the function pg_get_replication_slots()
> and then use that to display a string in the view
> pg_replication_slots.

Yeah, and in the sync slot related work we could use pg_get_replication_slots()
then to get the enum.

Regards,

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Nikolay Samokhvalov 2023-12-21 14:58:05 Re: Set log_lock_waits=on by default
Previous Message David E. Wheeler 2023-12-21 14:45:10 Re: GIN-Indexable JSON Patterns