Skip site navigation (1) Skip section navigation (2)

.pgpass's behavior has changed

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: pgsql-hackers(at)postgresql(dot)org
Subject: .pgpass's behavior has changed
Date: 2017-04-28 07:54:32
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-hackers

I noticed that the precedence between host and hostaddr in a
connection string is reversed in regard to .pgpass lookup in

For example the following connection string uses a .pgpass entry
with "", not "hoge".

"host=hoge hostaddr= port=5432 dbname=postgres"

This change was introdueced by the commit
274bb2b3857cc987cfa21d14775cae9b0dababa5 and the current behavior
contradicts the documentation.

> hostaddr
> ...
>   Note that authentication is likely to fail if host is not the
>   name of the server at network address hostaddr. Also, note that
>   host rather than hostaddr is used to identify the connection in
>   a password file (see Section 33.15, “The Password File”).

I think this should be fixed for the same reason with the
following commit.

> commit 11003eb55658df0caf183eef69c7a97d56a4f2d7
> Author: Robert Haas <rhaas(at)postgresql(dot)org>
> Date:   Thu Dec 1 14:36:39 2016 -0500
>     libpq: Fix inadvertent change in PQhost() behavior.

But the above also leaves a bug so I sent another patch to fix
it. The attched patch restores the 9.6's beavior of looking up
.pgpass file in the same manner to the aother patch.


Kyotaro Horiguchi
NTT Open Source Software Center

Attachment: Fix-Restore-the-behavior-of-pgpass-lookup-master.patch
Description: text/x-patch (990 bytes)


pgsql-hackers by date

Next:From: Michael PaquierDate: 2017-04-28 07:55:45
Subject: Re: Concurrent ALTER SEQUENCE RESTART Regression
Previous:From: Kyotaro HORIGUCHIDate: 2017-04-28 07:43:34
Subject: PQhost may return socket dir for network connection

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group