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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy