pg.ddx.io  pgsql-committers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
5+ messages / 1 participants
[nested] [flat]

* pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
@ 2025-08-01 21:55 Nathan Bossart <nathan@postgresql.org>
  0 siblings, 0 replies; 5+ messages in thread

From: Nathan Bossart @ 2025-08-01 21:55 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/9eb6068fb64c36889102a09c030d1d9f4d832821

Modified Files
--------------
contrib/auto_explain/Makefile                 |  2 ++
contrib/auto_explain/expected/alter_reset.out | 19 +++++++++++++++++++
contrib/auto_explain/meson.build              |  5 +++++
contrib/auto_explain/sql/alter_reset.sql      | 22 ++++++++++++++++++++++
src/backend/utils/misc/guc.c                  | 21 ++++++++++++++++-----
5 files changed, 64 insertions(+), 5 deletions(-)



^ permalink  raw  reply  [nested|flat] 5+ messages in thread

* pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
@ 2025-08-01 21:55 Nathan Bossart <nathan@postgresql.org>
  0 siblings, 0 replies; 5+ messages in thread

From: Nathan Bossart @ 2025-08-01 21:55 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/7b9674a8b180db040906912a1e63ab831ad70ce8

Modified Files
--------------
contrib/auto_explain/Makefile                 |  2 ++
contrib/auto_explain/expected/alter_reset.out | 19 +++++++++++++++++++
contrib/auto_explain/meson.build              |  5 +++++
contrib/auto_explain/sql/alter_reset.sql      | 22 ++++++++++++++++++++++
src/backend/utils/misc/guc.c                  | 21 ++++++++++++++++-----
5 files changed, 64 insertions(+), 5 deletions(-)



^ permalink  raw  reply  [nested|flat] 5+ messages in thread

* pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
@ 2025-08-01 21:55 Nathan Bossart <nathan@postgresql.org>
  0 siblings, 0 replies; 5+ messages in thread

From: Nathan Bossart @ 2025-08-01 21:55 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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_17_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/39ff056365e438b530498def7ef18d588129e8e0

Modified Files
--------------
contrib/auto_explain/Makefile                 |  2 ++
contrib/auto_explain/expected/alter_reset.out | 19 +++++++++++++++++++
contrib/auto_explain/meson.build              |  5 +++++
contrib/auto_explain/sql/alter_reset.sql      | 22 ++++++++++++++++++++++
src/backend/utils/misc/guc.c                  | 21 ++++++++++++++++-----
5 files changed, 64 insertions(+), 5 deletions(-)



^ permalink  raw  reply  [nested|flat] 5+ messages in thread

* pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
@ 2025-08-01 21:55 Nathan Bossart <nathan@postgresql.org>
  0 siblings, 0 replies; 5+ messages in thread

From: Nathan Bossart @ 2025-08-01 21:55 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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(-)



^ permalink  raw  reply  [nested|flat] 5+ messages in thread

* pgsql: Allow resetting unknown custom GUCs with reserved prefixes.
@ 2025-08-01 21:55 Nathan Bossart <nathan@postgresql.org>
  0 siblings, 0 replies; 5+ messages in thread

From: Nathan Bossart @ 2025-08-01 21:55 UTC (permalink / raw)
  To: pgsql-committers@lists.postgresql.org

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_15_STABLE

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

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



^ permalink  raw  reply  [nested|flat] 5+ messages in thread


end of thread, other threads:[~2025-08-01 21:55 UTC | newest]

Thread overview: 5+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2025-08-01 21:55 pgsql: Allow resetting unknown custom GUCs with reserved prefixes. Nathan Bossart <nathan@postgresql.org>
2025-08-01 21:55 pgsql: Allow resetting unknown custom GUCs with reserved prefixes. Nathan Bossart <nathan@postgresql.org>
2025-08-01 21:55 pgsql: Allow resetting unknown custom GUCs with reserved prefixes. Nathan Bossart <nathan@postgresql.org>
2025-08-01 21:55 pgsql: Allow resetting unknown custom GUCs with reserved prefixes. Nathan Bossart <nathan@postgresql.org>
2025-08-01 21:55 pgsql: Allow resetting unknown custom GUCs with reserved prefixes. Nathan Bossart <nathan@postgresql.org>

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