]> git.ipfire.org Git - thirdparty/postgresql.git/commitdiff
Ignore more environment variables in pg_regress.c
authorMichael Paquier <michael@paquier.xyz>
Sun, 13 Jun 2021 11:07:50 +0000 (20:07 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sun, 13 Jun 2021 11:07:50 +0000 (20:07 +0900)
This is similar to the work done in 8279f68 for TestLib.pm, where
environment variables set may cause unwanted failures if using a
temporary installation with pg_regress.  The list of variables reset is
adjusted in each stable branch depending on what is supported.

Comments are added to remember that the lists in TestLib.pm and
pg_regress.c had better be kept in sync.

Reviewed-by: Álvaro Herrera
Discussion: https://postgr.es/m/YMNR9GYDn+fHlMta@paquier.xyz
Backpatch-through: 9.6

src/test/perl/TestLib.pm
src/test/regress/pg_regress.c

index c69aadc43f0b950336584b5dd0c1922899c9cf61..f1f90693a39ada94255631443fcf9331ff3631bc 100644 (file)
@@ -63,6 +63,7 @@ BEGIN
        delete $ENV{LC_ALL};
        $ENV{LC_MESSAGES} = 'C';
 
+       # This list should be kept in sync with pg_regress.c.
        my @envkeys = qw (
          PGCLIENTENCODING
          PGCONNECT_TIMEOUT
index 117a9544eaf1e27869bbfb01cf57f22070615a9b..c38594385fa3bf24c170b7fc40beb353cb2c6005 100644 (file)
@@ -802,14 +802,33 @@ initialize_environment(void)
                 * we also use psql's -X switch consistently, so that ~/.psqlrc files
                 * won't mess things up.)  Also, set PGPORT to the temp port, and set
                 * PGHOST depending on whether we are using TCP or Unix sockets.
+                *
+                * This list should be kept in sync with TestLib.pm.
                 */
+               /* PGCLIENTENCODING, see above */
+               unsetenv("PGCONNECT_TIMEOUT");
+               unsetenv("PGDATA");
                unsetenv("PGDATABASE");
-               unsetenv("PGUSER");
+               unsetenv("PGGSSENCMODE");
+               unsetenv("PGGSSLIB");
+               /* PGHOSTADDR, see below */
+               unsetenv("PGKRBSRVNAME");
+               unsetenv("PGPASSFILE");
+               unsetenv("PGPASSWORD");
+               unsetenv("PGREQUIREPEER");
+               unsetenv("PGREQUIRESSL");
                unsetenv("PGSERVICE");
+               unsetenv("PGSERVICEFILE");
+               unsetenv("PGSSLCERT");
+               unsetenv("PGSSLCRL");
+               unsetenv("PGSSLKEY");
                unsetenv("PGSSLMODE");
-               unsetenv("PGREQUIRESSL");
-               unsetenv("PGCONNECT_TIMEOUT");
-               unsetenv("PGDATA");
+               unsetenv("PGSSLROOTCERT");
+               unsetenv("PGTARGETSESSIONATTRS");
+               unsetenv("PGUSER");
+               /* PGPORT, see below */
+               /* PGHOST, see below */
+
 #ifdef HAVE_UNIX_SOCKETS
                if (hostname != NULL)
                        doputenv("PGHOST", hostname);