From: | PG Bug reporting form <noreply(at)postgresql(dot)org> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org |
Cc: | gabrielle(at)pdx(dot)postgresql(dot)us |
Subject: | BUG #16248: ALTER SYSTEM quoting of values does not work as expected |
Date: | 2020-02-07 18:20:12 |
Message-ID: | 16248-654fbee7845c6abf@postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged on the website:
Bug reference: 16248
Logged by: gabrielle roth
Email address: gabrielle(at)pdx(dot)postgresql(dot)us
PostgreSQL version: 11.6
Operating system: Ubuntu
Description:
Hi all!
I tried out `ALTER SYSTEM` for the first time last week, and ran into
something that confused me:
tl;dr:
ALTER SYSTEM SET log_statement = 'all'; -- quotes required around the new
value
vs
ALTER SYSTEM SET shared_preload_libraries = pg_stat_statements,plprofiler;
-- requires the new value *not* be quoted, this is what's confusing me
How I got there:
Initially, I tried quotes around the value, as that's the way I'd write it
in postgresql.conf:
ALTER SYSTEM SET shared_preload_libraries =
'pg_stat_statements,plprofiler';
When I restarted my database to apply the change, it failed with this error
(note the value now has double quotes)
FATAL: could not access file "pg_stat_statements,plprofiler": No such file
or directory
And this is what ended up in postgresql.auto.conf:
shared_preload_libraries = '"pg_stat_statements,plprofiler"'
From the docs for ALTER SYSTEM
(https://www.postgresql.org/docs/11/sql-altersystem.html)
"Values can be specified as string constants, identifiers, numbers, or
comma-separated lists of these, as appropriate for the particular
parameter."
From the docs for "Setting parameters"
(https://www.postgresql.org/docs/11/config-setting.html)
"String: In general, enclose the value in single quotes, doubling any single
quotes within the value. Quotes can usually be omitted if the value is a
simple number or identifier, however."
I eventually got help from a friend, who tipped me off that the value for
shared_preload_libraries should not be quoted.
That seems weird to me because of the requirement for quoting on other
settings, e.g. log_statement.
Is this expected behavior? If so, can we get some examples in the docs to
help folks figure out the correct quoting rules?
Thank you!
gabrielle
From | Date | Subject | |
---|---|---|---|
Next Message | Albin, Lloyd P | 2020-02-07 18:20:30 | RE: BUG #16234: LDAP Query |
Previous Message | Adam Middleton | 2020-02-07 17:37:52 | Southern California 2020 Linux Expo Emails |