Re: Unix-domain socket support on Windows

Peter Eisentraut <peter.eisentraut@2ndquadrant.com>

From: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>
To: "Hamlin, Garick L" <ghamlin@isc.upenn.edu>
Cc: Andrew Dunstan <andrew.dunstan@2ndquadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2019-12-18T16:03:40Z
Lists: pgsql-hackers
On 2019-12-18 15:24, Hamlin, Garick L wrote:
> On Wed, Dec 18, 2019 at 02:52:15PM +0100, Peter Eisentraut wrote:
>> To implement this, tweak things so that setting DEFAULT_PGSOCKET_DIR
>> to "" has the desired effect.  This mostly already worked like that;
>> only a few places needed to be adjusted.  Notably, the reference to
>> DEFAULT_PGSOCKET_DIR in UNIXSOCK_PATH() could be removed because all
>> callers already resolve an empty socket directory setting with a
>> default if appropriate.
> 
> Would it make sense to support abstract sockets in PostgreSQL?

Maybe, I'm not sure.

> I know it's bit unrelated.  I haven't read all the code here I just was
> thinking about it because of the code checking the leading \0 byte of the dir.

We would probably represent abstract sockets with a leading '@' in the 
user-facing components and only translate it to the internal format at 
the last moment, probably in that very same UNIXSOCK_PATH() function. 
So I think that wouldn't be a problem.

-- 
Peter Eisentraut              http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services



Commits

  1. Allow using Unix-domain sockets on Windows in tests

  2. pg_regress: Observe TMPDIR

  3. Enable Unix-domain sockets support on Windows

  4. psql: Remove one use of HAVE_UNIX_SOCKETS

  5. Allow building without default socket directory

  6. Sort out getpeereid() and peer auth handling on Windows