pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Nathan Bossart <nathan@postgresql.org>
To: pgsql-committers@lists.postgresql.org
Subject: pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
Date: Fri, 01 Aug 2025 21:55:42 +0000
Message-ID: <E1uhxj3-000Fyk-2h@gemulon.postgresql.org> (raw)

Allow resetting unknown custom GUCs with reserved prefixes.

Currently, ALTER DATABASE/ROLE/SYSTEM RESET [ALL] with an unknown
custom GUC with a prefix reserved by MarkGUCPrefixReserved() errors
(unless a superuser runs a RESET ALL variant).  This is problematic
for cases such as an extension library upgrade that removes a GUC.
To fix, simply make sure the relevant code paths explicitly allow
it.  Note that we require superuser or privileges on the parameter
to reset it.  This is perhaps a bit more restrictive than is
necessary, but it's not clear whether further relaxing the
requirements is safe.

Oversight in commit 88103567cb.  The ALTER SYSTEM fix is dependent
on commit 2d870b4aef, which first appeared in v17.  Unfortunately,
back-patching that commit would introduce ABI breakage, and while
that breakage seems unlikely to bother anyone, it doesn't seem
worth the risk.  Hence, the ALTER SYSTEM part of this commit is
omitted on v15 and v16.

Reported-by: Mert Alev <mert@futo.org>
Reviewed-by: Laurenz Albe <laurenz.albe@cybertec.at>
Discussion: https://postgr.es/m/18964-ba09dea8c98fccd6%40postgresql.org
Backpatch-through: 15

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/b998ce3272ab45877f760ff558906a967b6a7da6

Modified Files
--------------
contrib/auto_explain/Makefile                 |  2 ++
contrib/auto_explain/expected/alter_reset.out | 17 +++++++++++++++++
contrib/auto_explain/meson.build              |  5 +++++
contrib/auto_explain/sql/alter_reset.sql      | 20 ++++++++++++++++++++
src/backend/utils/misc/guc.c                  | 14 ++++++++++----
5 files changed, 54 insertions(+), 4 deletions(-)



view thread (5+ messages)  latest in thread

Message-ID: <E1uhxj3-000Fyk-2h@gemulon.postgresql.org>
Permalink:  ../E1uhxj3-000Fyk-2h@gemulon.postgresql.org/
Also on:    postgresql.org/message-id/E1uhxj3-000Fyk-2h@gemulon.postgresql.org

 · 

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-committers@postgresql.org
  Cc: nathan@postgresql.org, pgsql-committers@lists.postgresql.org
  Subject: Re: pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
  In-Reply-To: <E1uhxj3-000Fyk-2h@gemulon.postgresql.org>

* 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