Dann Corbit wrote:
> In this function:
> static bool
> test_postmaster_connection(bool do_checkpoint)
>
> This code will never succeed:
> snprintf(connstr, sizeof(connstr),
> "dbname=postgres port=%s connect_timeout=5",
> portstr);
>
> for (i = 0; i < wait_seconds; i++)
> {
> if ((conn = PQconnectdb(connstr)) != NULL &&
> (PQstatus(conn) == CONNECTION_OK ||
> PQconnectionNeedsPassword(conn)))
> {
> PQfinish(conn);
> success = true;
> break;
> }
>
>
> Because pg_hba.conf has this:
> # TYPE DATABASE USER CIDR-ADDRESS METHOD
>
> # IPv4 local connections:
> host all all 127.0.0.1/32 trust
> # IPv6 local connections:
> host all all ::1/128 trust
>
> to allow connections from the local machine.
>
> (A password is not needed to connect, so the code always fails).
>
>
Why won't
PQstatus(conn) == CONNECTION_OK
be true and thus the code will succeed without requiring a password?
cheers
andrew