Re: Synchronizing slots from primary to standby

From: Bertrand Drouvot <bertranddrouvot(dot)pg(at)gmail(dot)com>
To: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
Cc: "Zhijie Hou (Fujitsu)" <houzj(dot)fnst(at)fujitsu(dot)com>, shveta malik <shveta(dot)malik(at)gmail(dot)com>, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com>, Peter Smith <smithpb2250(at)gmail(dot)com>, Ajin Cherian <itsajin(at)gmail(dot)com>, Dilip Kumar <dilipbalaut(at)gmail(dot)com>, Nisha Moond <nisha(dot)moond412(at)gmail(dot)com>, "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>, Bharath Rupireddy <bharath(dot)rupireddyforpostgres(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com>, Bruce Momjian <bruce(at)momjian(dot)us>, Ashutosh Sharma <ashu(dot)coek88(at)gmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Subject: Re: Synchronizing slots from primary to standby
Date: 2024-02-26 07:48:38
Message-ID: ZdxCVimPVUsONTME@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 Mon, Feb 26, 2024 at 10:48:38AM +0530, Amit Kapila wrote:
> On Fri, Feb 23, 2024 at 4:45 PM Bertrand Drouvot
> <bertranddrouvot(dot)pg(at)gmail(dot)com> wrote:
> >
> > On Fri, Feb 23, 2024 at 09:46:00AM +0000, Zhijie Hou (Fujitsu) wrote:
> > >
> > > Besides, I'd like to clarify and discuss the behavior of standby_slot_names once.
> > >
> > > As it stands in the patch, If the slots specified in standby_slot_names are
> > > dropped or invalidated, the logical walsender will issue a WARNING and continue
> > > to replicate the changes. Another option for this could be to have the
> > > walsender pause until the slot in standby_slot_names is re-created or becomes
> > > valid again. Does anyone else have an opinion on this matter ?
> >
> > Good point, I'd vote for: the only reasons not to wait are:
> >
> > - slots mentioned in standby_slot_names exist and valid and do catch up
> > or
> > - standby_slot_names is empty
> >
> > The reason is that setting standby_slot_names to a non empty value means that
> > one wants the walsender to wait until the standby catchup. The way to remove this
> > intentional behavior should be by changing the standby_slot_names value (not the
> > existence or the state of the slot(s) it points too).
> >
>
> It seems we already do wait for the case when there is an inactive
> slot as per the below code [1] in the patch. So, probably waiting in
> other cases is also okay and also as this parameter is a SIGHUP
> parameter, users should be easily able to change its value if
> required.

Agree.

> Do you think it is a good idea to mention this in docs as
> well?

Yeah, I think the more the better.

> I think it is important to raise WARNING as the patch is doing in all
> the cases where the slot is not being processed so that users can be
> notified and they can take the required action.

+1

Regards,

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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Andrei Lepikhov 2024-02-26 07:54:21 Re: "type with xxxx does not exist" when doing ExecMemoize()
Previous Message David Rowley 2024-02-26 07:42:34 Re: Avoid stack frame setup in performance critical routines using tail calls