Re: Support custom socket directory in pg_upgrade

Daniel Gustafsson <daniel@yesql.se>

From: Daniel Gustafsson <daniel@yesql.se>
To: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
Cc: PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>
Date: 2018-11-07T13:25:48Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Add a --socketdir option to pg_upgrade.

> On 7 Nov 2018, at 08:23, Peter Eisentraut <peter.eisentraut@2ndquadrant.com> wrote:
> 
> On 09/10/2018 15:09, Daniel Gustafsson wrote:
>> 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?
> 
> Why not always create a temporary directory and put it there.  Then we
> don't need an option.  It's not like the current directory is a
> particularly good choice anyway.

I agree that cwd isn’t a terribly good default, but is there a good way to
identify a suitable temporary directory to use across all platforms (mostly
thinking about Windows)?  Overloading PGDATA/base/pgsql_tmp (or similar) in
either the new or old datadir seems ugly, and risks running into the sockdir
limitation this patch is intending to solve.

cheers ./daniel