pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
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





view thread (23+ messages)  latest in thread

Message-ID: <541349.1762275480@sss.pgh.pa.us>
Permalink:  ../541349.1762275480@sss.pgh.pa.us/
Also on:    postgresql.org/message-id/541349.1762275480@sss.pgh.pa.us

 · 

reply

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