Re: Minimal logical decoding on standbys
От | Drouvot, Bertrand |
---|---|
Тема | Re: Minimal logical decoding on standbys |
Дата | |
Msg-id | 1903ca9b-1dc9-20a6-404a-d4c460c7bdcc@gmail.com обсуждение исходный текст |
Ответ на | Re: Minimal logical decoding on standbys (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: Minimal logical decoding on standbys
|
Список | pgsql-hackers |
Hi, On 4/6/23 11:55 AM, Amit Kapila wrote: > On Thu, Apr 6, 2023 at 12:10 PM Amit Kapila <amit.kapila16@gmail.com> wrote: >> >> On Wed, Apr 5, 2023 at 9:27 PM Drouvot, Bertrand >> <bertranddrouvot.pg@gmail.com> wrote: >>> >> >> Another comment on 0001. >> extern void CheckSlotRequirements(void); >> extern void CheckSlotPermissions(void); >> +extern void ResolveRecoveryConflictWithLogicalSlots(Oid dboid, >> TransactionId xid, char *reason); >> >> This doesn't seem to be called from anywhere. >> > > Few other comments: > ================== > 0004 > 1. > + * - physical walsenders in case of new time line and cascade > + * replication is allowed. > + * - logical walsenders in case of new time line or recovery is in progress > + * (logical decoding on standby). > + */ > + WalSndWakeup(switchedTLI && AllowCascadeReplication(), > + switchedTLI || RecoveryInProgress()); > > Do we need AllowCascadeReplication() check specifically for physical > walsenders? I think this should be true for both physical and logical > walsenders. > I don't think it could be possible to create logical walsenders on a standby if AllowCascadeReplication() is not true, or am I missing something? If so, I think it has to be set to true for the logical walsenders in all the case (like done in V62 posted up-thread). Andres, made the point up-thread that RecoveryInProgress() is always true, and as we don't want to be woken up only when there is a time line change then I think it has to be always true for logical walsenders. > 0005 > 2. > --- a/src/backend/access/transam/xlogfuncs.c > +++ b/src/backend/access/transam/xlogfuncs.c > @@ -38,6 +38,7 @@ > #include "utils/pg_lsn.h" > #include "utils/timestamp.h" > #include "utils/tuplestore.h" > +#include "storage/standby.h" > > The header includes should be in alphabetical order. > Good catch, thanks! Done in V62. Regards, -- Bertrand Drouvot PostgreSQL Contributors Team RDS Open Source Databases Amazon Web Services: https://aws.amazon.com
В списке pgsql-hackers по дате отправления: