postgres.git / summary / log / commit / refs

commit    59392746cb3fd3c23b5f7bfa9568a71705ca30d1
Author:   Tom Lane <tgl@sss.pgh.pa.us>
Date:     Fri Mar 04 18:23:58 2022 +0000
First released in: 15.0, 13.7, 14.3

    Fix pg_regress to print the correct postmaster address on Windows.
    
    pg_regress reported "Unix socket" as the default location whenever
    HAVE_UNIX_SOCKETS is defined.  However, that's not been accurate
    on Windows since 8f3ec75de.  Update this logic to match what libpq
    actually does now.
    
    This is just cosmetic, but still it's potentially misleading.
    Back-patch to v13 where 8f3ec75de came in.
    
    Discussion: https://postgr.es/m/3894060.1646415641@sss.pgh.pa.us


src/interfaces/libpq/fe-connect.c | 5 +++++ src/test/regress/pg_regress.c | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index 88f54e89b38..b80ac2e724c 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -1100,6 +1100,11 @@ connectOptions2(PGconn *conn) { if (ch->host) free(ch->host); + + /* + * This bit selects the default host location. If you change + * this, see also pg_regress. + */ #ifdef HAVE_UNIX_SOCKETS if (DEFAULT_PGSOCKET_DIR[0]) { diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index 242c8b066e3..931872ba45a 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -895,10 +895,16 @@ initialize_environment(void) */ pghost = getenv("PGHOST"); pgport = getenv("PGPORT"); -#ifndef HAVE_UNIX_SOCKETS if (!pghost) - pghost = "localhost"; + { + /* Keep this bit in sync with libpq's default host location: */ +#ifdef HAVE_UNIX_SOCKETS + if (DEFAULT_PGSOCKET_DIR[0]) + /* do nothing, we'll print "Unix socket" below */ ; + else #endif + pghost = "localhost"; /* DefaultHost in fe-connect.c */ + } if (pghost && pgport) printf(_("(using postmaster on %s, port %s)\n"), pghost, pgport); [parent: 97031f440485]