Re: ALTER SYSTEM and GUC_LIST_QUOTE - Mailing list pgsql-hackers

From Tom Lane
Subject Re: ALTER SYSTEM and GUC_LIST_QUOTE
Date
Msg-id 10860.1438980591@sss.pgh.pa.us
Whole thread Raw
In response to ALTER SYSTEM and GUC_LIST_QUOTE  (Adam Brightwell <adam.brightwell@crunchydatasolutions.com>)
List pgsql-hackers
Adam Brightwell <adam.brightwell@crunchydatasolutions.com> writes:
> While testing some behaviors with ALTER SYSTEM I discovered that GUC
> parameters with the GUC_LIST_QUOTE flag have a potential issue.

> As an example,
> ALTER SYSTEM SET shared_preload_libraries = '';
> Results in the following output in postgresql.auto.conf:
> shared_preload_libraries = '""';
> Therefore, when attempting to restart postgres the following error is
> encountered:
> FATAL:  could not access file "": No such file or directory

I think this is correct.  You specified one empty item in the list.

> As well, specifying multiple items:
> ALTER SYSTEM SET shared_preload_libraries = 'foo,bar';
> Results in:
> shared_preload_libraries = '"foo,bar"';

This one is definitely pilot error; you should have said

ALTER SYSTEM SET shared_preload_libraries = foo,bar;
or
ALTER SYSTEM SET shared_preload_libraries = 'foo','bar';

The quotes make it a single item.

There isn't a way to use ALTER SYSTEM SET to set a list variable to
an empty list, but that is true of SET as well, and nobody's ever
complained.  In the ALTER SYSTEM case at least you can use RESET.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Adam Brightwell
Date:
Subject: ALTER SYSTEM and GUC_LIST_QUOTE
Next
From: Andrew Dunstan
Date:
Subject: tap tests remove working directories