Re: Have pg_basebackup write "dbname" in "primary_conninfo"?

From: Amit Kapila <amit(dot)kapila16(at)gmail(dot)com>
To: "Hayato Kuroda (Fujitsu)" <kuroda(dot)hayato(at)fujitsu(dot)com>
Cc: "robertmhaas(at)gmail(dot)com" <robertmhaas(at)gmail(dot)com>, "barwick(at)gmail(dot)com" <barwick(at)gmail(dot)com>, "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>, Kyotaro Horiguchi <horikyota(dot)ntt(at)gmail(dot)com>
Subject: Re: Have pg_basebackup write "dbname" in "primary_conninfo"?
Date: 2024-02-27 13:07:08
Message-ID: CAA4eK1+cNFkvvi+2WmYujH0ctfw79AoX25SRNd1csZNQP-rhTA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Feb 27, 2024 at 2:00 PM Hayato Kuroda (Fujitsu)
<kuroda(dot)hayato(at)fujitsu(dot)com> wrote:
>
> > We do append dbname=replication even in libpqrcv_connect for .pgpass
> > lookup as mentioned in comments. See below:
> > libpqrcv_connect()
> > {
> > ....
> > else
> > {
> > /*
> > * The database name is ignored by the server in replication mode,
> > * but specify "replication" for .pgpass lookup.
> > */
> > keys[++i] = "dbname";
> > vals[i] = "replication";
> > }
> > ...
> > }
>
> OK. So we must add the value for the authorization, right?
> I think it should be described even in GetConnection().
>
> > I think as part of this effort we should just add dbname to
> > primary_conninfo written in postgresql.auto.conf file. As above, the
> > question is valid whether we should do it just for 17 or for prior
> > versions. Let's discuss more on that. I am not sure of the use case
> > for versions before 17 but commit cca97ce6a665 mentioned that some
> > middleware or proxies might however need to know the dbname to make
> > the correct routing decision for the connection. Does that apply here
> > as well? If so, we can do it and update the docs, otherwise, let's do
> > it just for 17.
>
> Hmm, I might lose your requirements again. So, we must satisfy all of below
> ones, right?
> 1) add {"dbname", "replication"} key-value pair to look up .pgpass file correctly.
> 2) If the -R is given, output dbname=xxx value to be used by slotsync worker.
> 3) If the dbname is not given in the connection string, the same string as
> username must be used to keep the libpq connection rule.
> 4) No need to add dbname=replication pair
>

Point 1) and 4) seems contradictory or maybe I am missing something.

--
With Regards,
Amit Kapila.

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Alvaro Herrera 2024-02-27 13:25:46 Re: abi-compliance-checker
Previous Message Jeevan Chalke 2024-02-27 13:06:06 Re: More new SQL/JSON item methods