Re: Track in pg_replication_slots the reason why slots conflict?

Поиск
Список
Период
Сортировка
От Amit Kapila
Тема Re: Track in pg_replication_slots the reason why slots conflict?
Дата
Msg-id CAA4eK1L+guveJrU3wKV89uigO5--P=2jgLy9JKRFPcmL+kRRaw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Track in pg_replication_slots the reason why slots conflict?  (Andres Freund <andres@anarazel.de>)
Ответы Re: Track in pg_replication_slots the reason why slots conflict?  (Bertrand Drouvot <bertranddrouvot.pg@gmail.com>)
Re: Track in pg_replication_slots the reason why slots conflict?  (Andres Freund <andres@anarazel.de>)
Re: Track in pg_replication_slots the reason why slots conflict?  (Isaac Morland <isaac.morland@gmail.com>)
Список pgsql-hackers
On Thu, Dec 21, 2023 at 5:05 PM Andres Freund <andres@anarazel.de> wrote:
>
> On 2023-12-21 16:08:48 +0530, shveta malik wrote:
> > On Thu, Dec 21, 2023 at 3:10 PM Andres Freund <andres@anarazel.de> wrote:
> > >
> > > Extra columns aren't free from a usability perspective. IFF we do something, I
> > > think it should be a single column with a cause.
> >
> > Thanks for the feedback. But do you mean that we replace existing
> > 'conflicting' column with 'cause' in both the function and view
> > (pg_get_replication_slots() and pg_replication_slots)?  Or do you mean
> > that we expose 'cause' from pg_get_replication_slots() and use that to
> > display 'conflicting' in pg_replication_slots view?
>
> 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.

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.

>
> > 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.

--
With Regards,
Amit Kapila.



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Robert Haas
Дата:
Сообщение: Re: Set log_lock_waits=on by default
Следующее
От: "David E. Wheeler"
Дата:
Сообщение: Re: GIN-Indexable JSON Patterns