2020年10月23日(金) 12:12 Michael Paquier <mich...@paquier.xyz>:
>
> 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.

Ah yes, good point.

Updated version attached.

Regards

Ian Barwick

-- 
EnterpriseDB: https://www.enterprisedb.com
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index a62d64eaa4..bb34630e8e 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -4173,7 +4173,7 @@ static struct config_string ConfigureNamesString[] =
 		{"unix_socket_directories", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
 			gettext_noop("Sets the directories where Unix-domain sockets will be created."),
 			NULL,
-			GUC_SUPERUSER_ONLY
+			GUC_LIST_INPUT | GUC_LIST_QUOTE | GUC_SUPERUSER_ONLY
 		},
 		&Unix_socket_directories,
 #ifdef HAVE_UNIX_SOCKETS

Reply via email to