Michael Paquier <michael@paquier.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