Ignore more environment variables in pg_regress.c
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
This commit is contained in:
parent
94e21021cd
commit
545aa6a593
@ -98,6 +98,7 @@ BEGIN
|
||||
delete $ENV{LC_ALL};
|
||||
$ENV{LC_MESSAGES} = 'C';
|
||||
|
||||
# This list should be kept in sync with pg_regress.c.
|
||||
my @envkeys = qw (
|
||||
PGCHANNELBINDING
|
||||
PGCLIENTENCODING
|
||||
|
@ -805,14 +805,36 @@ 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.
|
||||
*/
|
||||
unsetenv("PGDATABASE");
|
||||
unsetenv("PGUSER");
|
||||
unsetenv("PGSERVICE");
|
||||
unsetenv("PGSSLMODE");
|
||||
unsetenv("PGREQUIRESSL");
|
||||
unsetenv("PGCHANNELBINDING");
|
||||
/* PGCLIENTENCODING, see above */
|
||||
unsetenv("PGCONNECT_TIMEOUT");
|
||||
unsetenv("PGDATA");
|
||||
unsetenv("PGDATABASE");
|
||||
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("PGSSLMAXPROTOCOLVERSION");
|
||||
unsetenv("PGSSLMINPROTOCOLVERSION");
|
||||
unsetenv("PGSSLMODE");
|
||||
unsetenv("PGSSLROOTCERT");
|
||||
unsetenv("PGTARGETSESSIONATTRS");
|
||||
unsetenv("PGUSER");
|
||||
/* PGPORT, see below */
|
||||
/* PGHOST, see below */
|
||||
|
||||
#ifdef HAVE_UNIX_SOCKETS
|
||||
if (hostname != NULL)
|
||||
doputenv("PGHOST", hostname);
|
||||
|
Loading…
x
Reference in New Issue
Block a user