mirror of
https://github.com/postgres/postgres.git
synced 2025-06-25 01:02:05 +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:
@ -494,6 +494,7 @@ extern const struct config_enum_entry dynamic_shared_memory_options[];
|
||||
/*
|
||||
* GUC option variables that are exported from this module
|
||||
*/
|
||||
bool AllowAlterSystem = true;
|
||||
bool log_duration = false;
|
||||
bool Debug_print_plan = false;
|
||||
bool Debug_print_parse = false;
|
||||
@ -1040,6 +1041,22 @@ struct config_bool ConfigureNamesBool[] =
|
||||
false,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
{
|
||||
/*
|
||||
* This setting itself cannot be set by ALTER SYSTEM to avoid an
|
||||
* operator turning this setting off by using ALTER SYSTEM, without a
|
||||
* way to turn it back on.
|
||||
*/
|
||||
{"allow_alter_system", PGC_SIGHUP, COMPAT_OPTIONS_OTHER,
|
||||
gettext_noop("Allows running the ALTER SYSTEM command."),
|
||||
gettext_noop("Can be set to off for environments where global configuration "
|
||||
"changes should be made using a different method."),
|
||||
GUC_DISALLOW_IN_AUTO_FILE
|
||||
},
|
||||
&AllowAlterSystem,
|
||||
true,
|
||||
NULL, NULL, NULL
|
||||
},
|
||||
{
|
||||
{"bonjour", PGC_POSTMASTER, CONN_AUTH_SETTINGS,
|
||||
gettext_noop("Enables advertising the server via Bonjour."),
|
||||
|
Reference in New Issue
Block a user