1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-30 06:01:21 +03:00

Add allow_alter_system GUC.

This is marked PGC_SIGHUP, so it can only be set in a configuration
file, not anywhere else; and it is also marked GUC_DISALLOW_IN_AUTO_FILE,
so it can't be set using ALTER SYSTEM. When set to false, the
ALTER SYSTEM command is disallowed.

There was considerable concern that this would be misinterpreted as
a security feature, which it is not, because a determined superuser
has various ways of bypassing it. Hence, a lot of work has gone into
wordsmithing the documentation, in the hopes of avoiding any such
confusion.

Jelte Fennemia-Nio and Gabriele Bartolini, with wording suggestions
for the documentation from many others.

Discussion: http://postgr.es/m/CA%2BVUV5rEKt2%2BCdC_KUaPoihMu%2Bi5ChT4WVNTr4CD5-xXZUfuQw%40mail.gmail.com
This commit is contained in:
Robert Haas
2024-03-29 08:44:45 -04:00
parent 0075d78947
commit d3ae2a24f2
6 changed files with 82 additions and 1 deletions

View File

@@ -104,6 +104,7 @@ ALTER SYSTEM RESET ALL
<para>
This command can't be used to set <xref linkend="guc-data-directory"/>,
<xref linkend="guc-allow-alter-system"/>,
nor parameters that are not allowed in <filename>postgresql.conf</filename>
(e.g., <link linkend="runtime-config-preset">preset options</link>).
</para>
@@ -111,6 +112,13 @@ ALTER SYSTEM RESET ALL
<para>
See <xref linkend="config-setting"/> for other ways to set the parameters.
</para>
<para>
<literal>ALTER SYSTEM</literal> can be disabled by setting
<xref linkend="guc-allow-alter-system"/> to <literal>off</literal>, but this
is not a security mechanism (as explained in detail in the documentation for
this parameter).
</para>
</refsect1>
<refsect1>