Re: Possibility to disable `ALTER SYSTEM`
Jelte Fennema-Nio <postgres@jeltef.nl>
From: Jelte Fennema-Nio <postgres@jeltef.nl>
To: Peter Eisentraut <peter@eisentraut.org>
Cc: Gabriele Bartolini <gabriele.bartolini@enterprisedb.com>, Tom Lane <tgl@sss.pgh.pa.us>, "David G. Johnston" <david.g.johnston@gmail.com>, Magnus Hagander <magnus@hagander.net>, Robert Haas <robertmhaas@gmail.com>, Martín Marqués <martin.marques@gmail.com>, Isaac Morland <isaac.morland@gmail.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2024-02-06T15:22:28Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Add allow_alter_system GUC.
- d3ae2a24f265 17.0 landed
-
Rename COMPAT_OPTIONS_CLIENT to COMPAT_OPTIONS_OTHER.
- de7e96bd0fc6 17.0 landed
-
Remove support for version-0 calling conventions.
- 5ded4bd21403 10.0 cited
On Tue, 30 Jan 2024 at 18:49, Robert Haas <robertmhaas@gmail.com> wrote: > I also think that using the GUC system to manage itself is a little > bit suspect. I wonder if it would be better to do this some other way, > e.g. a sentinel file in the data directory. For example, suppose we > refuse ALTER SYSTEM if $PGDATA/disable_alter_system exists, or > something like that. On Tue, 6 Feb 2024 at 15:10, Peter Eisentraut <peter@eisentraut.org> wrote: > How about ALTER SYSTEM is disabled if the file > postgresql.auto.conf.disabled exists? This is somewhat similar to making > the file read-only, but doesn't risk other tools breaking when they > encounter such a file. And it's more obvious and self-explaining. I'm not convinced we need a new file to disable ALTER SYSTEM. I feel like an "enable_alter_system" GUC that defaults to ON would work fine for this. If we make that GUC be PGC_POSTMASTER then an operator can disable ALTER SYSTEM either with a command line argument or by changing the main config file. Since this feature is mostly useful when the config file is managed by an external system, it seems rather simple for that system to configure one extra GUC in the config file.