From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andrei Klychkov <andrew.a.klychkov@gmail.com>
Cc: Jim Jones <jim.jones@uni-muenster.de>
Cc: Fujii Masao <masao.fujii@gmail.com>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: [PATCH] Fix ALTER SYSTEM empty string bug for GUC_LIST_QUOTE parameters
Date: Tue, 04 Nov 2025 11:58:00 -0500
Message-ID: <541349.1762275480@sss.pgh.pa.us> (raw)
In-Reply-To: <117311.1762027906@sss.pgh.pa.us>
References: <CA+mfrmwsBmYsJayWjc8bJmicxc3phZcHHY=yW5aYe=P-1d_4bg@mail.gmail.com>
<38091678-2820-4bc8-8df7-b417562f7860@uni-muenster.de>
<CA+mfrmxtk+f3dE8zJ2=5cWrbSw6YzOXNOmbi1iC0Hb0HCa-G7w@mail.gmail.com>
<CAHGQGwG7ADhPorp0-29LGz0Vct=Dhhcerb8LdX2s+QC7TY=RRA@mail.gmail.com>
<CA+mfrmwJgd3N1Lcqy64Fi6R+JHAT=bhf6rdh52hMRH78pBM5mQ@mail.gmail.com>
<CAHGQGwEqxZ81JrJ+fO=8sYGFYTgrZ-M6XYErdLoiy8p82EXS-A@mail.gmail.com>
<1046095.1757007639@sss.pgh.pa.us>
<1056071.1757010288@sss.pgh.pa.us>
<1235943.1757022769@sss.pgh.pa.us>
<12e88f4f-82f0-4153-ab19-7f1c5f317912@uni-muenster.de>
<1528424.1757106377@sss.pgh.pa.us>
<a749d0b9-f751-4f8d-819f-0170a5a33716@uni-muenster.de>
<CA+mfrmyc6pEGE9nY70nEJMdtyf2Hn_Qe=dC1jcLm1V55SROrLw@mail.gmail.com>
<117311.1762027906@sss.pgh.pa.us>
I wrote:
> Andrei Klychkov <andrew.a.klychkov@gmail.com> writes:
>> 2. It doesn't look to me that v5 solves the original issue of a user
>> running ALTER SYSTEM SET <setting like shared_preload_libraries> = ''; ,
>> then restarting the server and not getting it back online.
> [ shrug... ] It's not supposed to "solve" that. That command is
> erroneous, and if you didn't test the setting before restarting the
> server, you shouldn't be too surprised if restart fails.
If you are feeling excited about that specific case, I think the
correct solution would be to install a GUC check_hook for
shared_preload_libraries (and probably its siblings too). It couldn't
go so far as to actually dlopen() the list items, but it could check
that each one resolves as an accessible file.
A potential objection is that this could result in unwanted failures
in some scenarios, say where you're restoring a dump and haven't
yet installed all the relevant extensions. I'm not quite sure if
there are realistic scenarios where that's actually a problem.
If it is, perhaps we could adjust the check_hook so it issues
WARNINGs not hard errors.
I'm not sure it's worth the trouble though. A quick look at dfmgr.c
suggests that it'd take quite a lot of refactoring (or else code
duplication, not good) to be able to apply the library lookup process
without actually doing dlopen. In any case that would be a totally
different patch from what we are discussing here.
> Anyway, the attached v6 is the same as v5, except now with proposed
> doc changes and a draft commit message. I spent some effort on
> getting the ALTER SYSTEM and SET ref pages back into sync; it seemed
> like more care has been taken with the ALTER SYSTEM synopsis and
> other details.
Hearing no further comments, I'm going to go ahead with v6.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, andrew.a.klychkov@gmail.com, jim.jones@uni-muenster.de, masao.fujii@gmail.com, pgsql-hackers@lists.postgresql.org
Subject: Re: [PATCH] Fix ALTER SYSTEM empty string bug for GUC_LIST_QUOTE parameters
In-Reply-To: <541349.1762275480@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox