Re: BUG #19538: ALTER SYSTEM adds extra quotes

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: fotonszekta(at)gmail(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #19538: ALTER SYSTEM adds extra quotes
Date: 2026-06-29 13:55:05
Message-ID: 1694251.1782741305@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> writes:
> The following command adds extra quotes to postgresql.auto.conf:
> ALTER SYSTEM SET shared_preload_libraries = 'pg_stat_statements, auth_delay,
> auto_explain, pg_prewarm';
> The result entry in postgresql.auto.conf is:
> shared_preload_libraries = '"pg_stat_statements, auth_delay, auto_explain,
> pg_prewarm"'
> As a result, PostgreSQL tries to load the entire string as a single library
> name and reports the following error in /var/log/postgresql:
> FATAL: could not access file "pg_stat_statements, auth_delay, auto_explain,
> pg_prewarm": Nincs ilyen fájl vagy könyvtár

This behavior is correct; what's wrong is the SQL syntax you used.
You should have written

ALTER SYSTEM SET shared_preload_libraries = pg_stat_statements, auth_delay,
auto_explain, pg_prewarm;

since what you are providing is a list, not a single value that
happens to contain some commas. (It wouldn't matter in this case
whether you quote the individual values; though if any of them match
a SQL reserved word, it'd need quotes.)

I know this is confusing, because the rules are different when you
are writing a list directly in postgresql.conf. But, well, SQL is
not postgresql.conf.

regards, tom lane

In response to

Browse pgsql-bugs by date

  From Date Subject
Previous Message David Rowley 2026-06-29 13:44:20 Re: BUG #19533: Wrong results from WindowAgg run-condition pushdown on count() with EXCLUDE CURRENT ROW