Skip to content

Commit c4a7a39

Browse files
committed
Make allow_system_table_mods settable at run time
Make allow_system_table_mods settable at run time by superusers. It was previously postmaster start only. We don't want to make system catalog DDL wide-open, but there are occasionally useful things to do like setting reloptions or statistics on a busy system table, and blocking those doesn't help anyone. Also, this enables the possibility of writing a test suite for this setting. Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/flat/8b00ea5e-28a7-88ba-e848-21528b632354%402ndquadrant.com
1 parent 508bf95 commit c4a7a39

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

doc/src/sgml/config.sgml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9501,9 +9501,11 @@ dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
95019501
</term>
95029502
<listitem>
95039503
<para>
9504-
Allows modification of the structure of system tables.
9505-
This is used by <command>initdb</command>.
9506-
This parameter can only be set at server start.
9504+
Allows modification of the structure of system tables as well as
9505+
certain other risky actions on system tables. This is otherwise not
9506+
allowed even for superusers. Ill-advised use of this setting can
9507+
cause irretrievable data loss or seriously corrupt the database
9508+
system. Only superusers can change this setting.
95079509
</para>
95089510
</listitem>
95099511
</varlistentry>

src/backend/utils/misc/guc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1777,7 +1777,7 @@ static struct config_bool ConfigureNamesBool[] =
17771777
},
17781778

17791779
{
1780-
{"allow_system_table_mods", PGC_POSTMASTER, DEVELOPER_OPTIONS,
1780+
{"allow_system_table_mods", PGC_SUSET, DEVELOPER_OPTIONS,
17811781
gettext_noop("Allows modifications of the structure of system tables."),
17821782
NULL,
17831783
GUC_NOT_IN_SAMPLE

0 commit comments

Comments
 (0)