From: | Donald Dong <xdong(at)csumb(dot)edu> |
---|---|
To: | Michael Paquier <michael(at)paquier(dot)xyz> |
Cc: | Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers(at)lists(dot)postgresql(dot)org, Postgres hackers <pgsql-hackers(at)postgresql(dot)org>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, simon(at)2ndquadrant(dot)com, ams(at)2ndquadrant(dot)com, sk(at)zsrv(dot)org, masao(dot)fujii(at)gmail(dot)com |
Subject: | Re: Making WAL receiver startup rely on GUC context for primary_conninfo and primary_slot_name |
Date: | 2019-01-09 14:00:23 |
Message-ID: | F7C348CE-6B7E-4BBC-83E8-091FB6697333@csumb.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hi Michael,
Thank you for the information!
> On Dec 11, 2018, at 9:55 PM, Michael Paquier <michael(at)paquier(dot)xyz> wrote:
>
> Well, the conninfo and slot name accessible to the user are the values
> available only once the information of the WAL receiver in shared memory
> is ready to be displayed. Relying more on the GUC context has the
> advantage to never have in shared memory the original string and only
> store the clobbered one, which actually simplifies what's stored in
> shared memory because you can entirely remove ready_to_display (I forgot
> to remove that in the patch actually). If those parameters become
> reloadable, you actually rely only on what the param context has, and
> not on what the shared memory context may have or not.
I wonder why do we need to have this addition?
src/backend/replication/walreceiver.c
+ memset(walrcv->slotname, 0, NAMEDATALEN);
+ if (PrimarySlotName)
+ strlcpy((char *) walrcv->slotname, PrimarySlotName, NAMEDATALEN);
src/backend/replication/walreceiver.c
288: PrimaryConnInfo == NULL || PrimaryConnInfo[0] == '\0'
291: errmsg("cannot connect to the primary server as \"primary_conninfo\" is not defined")));
392: PrimarySlotName && PrimarySlotName[0] != '\0'
src/backend/access/transam/xlog.c
11824: * If primary_conninfo is set, launch walreceiver to try
11833: PrimaryConnInfo && strcmp(PrimaryConnInfo, "") != 0
I notice these patterns appear in different places. Maybe it will be better to have a common method such as pg_str_empty()?
Regards,
Donald Dong
From | Date | Subject | |
---|---|---|---|
Next Message | Konstantin Knizhnik | 2019-01-09 14:22:27 | Re: libpq compression |
Previous Message | Andrew Dunstan | 2019-01-09 13:57:01 | Re: emacs configuration for new perltidy settings |