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: https://www.postgresql.org/message-id/flat/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(-)