Re: "unix_socket_directories" should be GUC_LIST_INPUT?

Michael Paquier <michael@paquier.xyz>

From: Michael Paquier <michael@paquier.xyz>
To: Ian Lawrence Barwick <barwick@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2020-10-23T03:12:38Z
Lists: pgsql-hackers
On Fri, Oct 23, 2020 at 11:34:06AM +0900, Ian Lawrence Barwick wrote:
> Not that I've ever had to do this (or would want to do it on a production
> system), but this error message seems incorrect:
> 
>     postgres=# ALTER SYSTEM SET unix_socket_directories  =
> '/tmp/sock1','/tmp/sock2';
>     ERROR:  SET unix_socket_directories takes only one argument
> 
> Trivial patch attached.

I have never seen that case, but I think that you are right.  Still,
that's not the end of it, see by yourself what the following command
generates with only your patch, which is fancy:
ALTER SYSTEM SET unix_socket_directories = '/tmp/sock1','/tmp/, sock2';

We need an extra GUC_LIST_QUOTE on top of what you are proposing.
--
Michael

Commits

  1. Add GUC_LIST_INPUT and GUC_LIST_QUOTE to unix_socket_directories