Add a --socketdir option to pg_upgrade.
This allows control of the directory in which the postmaster sockets
are created for the temporary postmasters started by pg_upgrade.
The default location remains the current working directory, which is
typically fine, but if it is deeply nested then its pathname might
be too long to be a socket name.
In passing, clean up some messiness in pg_upgrade's option handling,
particularly the confusing and undocumented way that configuration-only
datadirs were handled. And fix check_required_directory's substantially
under-baked cleanup of directory pathnames.
Daniel Gustafsson, reviewed by Hironobu Suzuki, some code cleanup by me
Discussion: https://postgr.es/m/E72DD5C3-2268-48A5-A907-ED4B34BEC223@yesql.se
Branch
------
master
Details
-------
https://git.postgresql.org/pg/commitdiff/2d34ad84303181111c6f0747186857ff50106267
Modified Files
--------------
doc/src/sgml/ref/pgupgrade.sgml | 36 ++++++++++++++++---
src/bin/pg_upgrade/option.c | 80 ++++++++++++++++++++++-------------------
src/bin/pg_upgrade/pg_upgrade.h | 5 +--
3 files changed, 77 insertions(+), 44 deletions(-)