Re: pg_upgrade and PGPORT
Bruce Momjian <bruce@momjian.us>
From: Bruce Momjian <bruce@momjian.us>
To: Bruce Momjian <bruce@momjian.us>
Cc: Robert Haas <robertmhaas@gmail.com>, Peter Eisentraut <peter_e@gmx.net>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2011-05-14T00:45:14Z
Lists: pgsql-hackers
Attachments
- /rtmp/pg_upgrade (text/x-diff) patch
Bruce Momjian wrote: > > >> ? ? ? Performing Consistency Checks > > >> ? ? ? ----------------------------- > > >> ? ? ? ignoring libpq environment variable PGPORT > > > > > > I haven't tried it, but I suppose option.c will now make use of PGPORT > > > and then later you get that message that it was ignored? > > > > Either way, it hardly seems necessary to emit a log message stating > > that you are unsetting an environment variable. > > I think the whole idea of worrying about libpq environment variables is > useless. I looked at the list of libpq environment variables and I saw > a lot of useful ones, like PGUSER and PGPASSFILE, which we currently > throw an error. > > I propose we only disable the use of PGHOST and even then that prevents > users from controlling tcp vs. unix domain connections. OK, it turns out the environment variable handling in pg_upgrade was worse than I thought. This patch: o disables only PGHOST and only if it is set to a non-local value; all other environment variables are honored; PGDATA isn't even seen by libpq o push --user value into the PGUSER environment variable so pg_ctl -w uses it; pg_ctl has no --user flag; this is important for pre-9.1 pg_ctl binaries o move putenv() function to utils.c now that it is used by option.c o allow pg_ctl failure to continue with a connection request to get a possible error message, then exit o update document to be clearer and mention environment variables Patch attached. -- Bruce Momjian <bruce@momjian.us> http://momjian.us EnterpriseDB http://enterprisedb.com + It's impossible for everything to be true. +