summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane2022-03-04 18:23:58 +0000
committerTom Lane2022-03-04 18:23:58 +0000
commit9240589798e02705dbe3e86549d064988c0f47d2 (patch)
tree674bbb5066c053ed535e6d67fd8cde30086f5d4f
parent791b1b71da35d9d4264f72a87e4078b85a2fcfb4 (diff)
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
-rw-r--r--src/interfaces/libpq/fe-connect.c5
-rw-r--r--src/test/regress/pg_regress.c10
2 files changed, 13 insertions, 2 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 1c5a2b43e99..cf554d389fa 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -1115,6 +1115,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 db8427dd9b5..982801e029d 100644
--- a/src/test/regress/pg_regress.c
+++ b/src/test/regress/pg_regress.c
@@ -746,10 +746,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);