On Wed, Oct 10, 2018 at 9:27 AM Daniel Gustafsson <daniel@yesql.se> wrote:
> > On 9 Oct 2018, at 16:22, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> > Daniel Gustafsson <daniel@yesql.se> writes:
> >> Having hit the maximum socketdir length error a number of times in pg_upgrade,
> >> especially when running tests in a deep directory hierarchy, I figured it was
> >> time to see if anyone else has had the same problem? The attached patch is
> >> what I run with locally to avoid the issue, it adds a --socketdir=PATH option
> >> to pg_upgrade which overrides the default use of CWD. Is that something that
> >> could be considered?
> >
> > I think you could simplify matters if you installed the CWD default value
> > during option processing.
>
> The attached v2 tries to make the socketdir more like the other configurable
> directories in pg_upgrade (adding an envvar for it etc). Is that more in line
> with what you were suggesting? make -C src/bin/pg_upgrade check passes with
> this, both unmodified and with a -s in the test script to override it. Also
> fixed incorrect syntax in the docs part from v1.
I think PGSOCKETDIR should be mentioned in the documentation like the
other environment variables, and also I'm wondering if it actually
works: you set it to the current working directory first, then parse
the command line option if present, and then read the env var only if
not already set: but it's always going to be, isn't it? Perhaps you
should use getcwd() only if all else fails?
--
Thomas Munro
http://www.enterprisedb.com