Re: "unix_socket_directories" should be GUC_LIST_INPUT?

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Michael Paquier <michael(at)paquier(dot)xyz>
Cc: Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)2ndquadrant(dot)com>, Ian Lawrence Barwick <barwick(at)gmail(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: "unix_socket_directories" should be GUC_LIST_INPUT?
Date: 2020-11-04 15:47:43
Message-ID: 1145630.1604504863@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Michael Paquier <michael(at)paquier(dot)xyz> writes:
> Anyway, we have a compatibility problem once we use ALTER SYSTEM.
> Just take the following command:
> alter system set unix_socket_directories = '/tmp/sock1, /tmp/sock2';

> On HEAD, this would be treated and parsed as two items. However, with
> the patch, this becomes one item as this is considered as one single
> element of the list of paths, as that's written to
> postgresql.auto.conf as '"/tmp/sock1, /tmp/sock2"'.

> This last argument would be IMO a reason enough to not do the switch.

I do not think that that's a fatal objection. I doubt anyone has
applications that are automatically issuing that sort of command and
would be broken by a change. I think backwards compatibility is
sufficiently met if the behavior remains the same for existing
postgresql.conf entries, which AFAICT it would.

Arguably, the whole point of doing something here is to make ALTER
SYSTEM handle this variable more sensibly. In that context,
'/tmp/sock1, /tmp/sock2' *should* be taken as one item IMO.
We can't change the behavior without, um, changing the behavior.

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Shay Rojansky 2020-11-04 15:50:08 Making cancellations safe
Previous Message Bharath Rupireddy 2020-11-04 15:46:29 Re: Use standard SIGHUP and SIGTERM handlers in autoprewarm module