pgsql: pg_upgrade: Default new bindir to pg_upgrade location

Started by Peter Eisentrautalmost 7 years ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

pg_upgrade: Default new bindir to pg_upgrade location

Make the directory where the pg_upgrade binary resides the default for
new bindir, as running the pg_upgrade binary from where the new
cluster is installed is a very common scenario. Setting this as the
defauly bindir for the new cluster will remove the need to provide it
explicitly via -B in many cases.

To support directories being missing from option parsing, extend the
directory check with a missingOk mode where the path must be filled at
a later point before being used. Also move the exec_path check to
earlier in setup to make sure we know the new cluster bindir when we
scan for required executables.

This removes the exec_path from the OSInfo struct as it is not used
anywhere.

Author: Daniel Gustafsson <daniel@yesql.se>
Reviewed-by: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Discussion: /messages/by-id/9328.1552952117@sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/959f6d6a1821b7d9068244f500dd80953e768d16

Modified Files
--------------
doc/src/sgml/ref/pgupgrade.sgml | 1 +
src/bin/pg_upgrade/option.c | 22 ++++++++++++++--------
src/bin/pg_upgrade/pg_upgrade.c | 28 +++++++++++++++++-----------
src/bin/pg_upgrade/pg_upgrade.h | 1 -
src/bin/pg_upgrade/test.sh | 2 +-
src/tools/msvc/vcregress.pl | 2 +-
6 files changed, 34 insertions(+), 22 deletions(-)