allow_system_table_mods 是一个 配置参数,用于确定 系统目录 表是否可以被修改。
allow_system_table_mods 在 PostgreSQL 8.2 中被添加。
重要提示:使用此设置可能对数据库造成不可逆的损坏。
默认值
allow_system_table_mods 的默认值为:false。
按 PostgreSQL 版本详细信息
allow_system_table_mods (PostgreSQL 19)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 18)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 17)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 16)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 15)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 14)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 13)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
superuser |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 12)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 11)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 10)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.6)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.5)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
| 需要重启 |
false |
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.3)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.2)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.1)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 9.0)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 8.4)
| 设置 |
off |
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
| 枚举值 |
|
| 启动值 |
off |
| 重置值 |
off |
| 源文件 |
|
| 源行 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 8.3)
| 设置 |
|
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:allow_system_table_mods
allow_system_table_mods (PostgreSQL 8.2)
| 设置 |
|
| 单位 |
|
| 类别 |
开发者选项 |
| 简短描述 |
允许修改系统表结构。 |
| 扩展描述 |
|
| 上下文 |
postmaster |
| 变量类型 |
bool |
| 来源 |
默认 |
| 最小值 |
|
| 最大值 |
|
文档:allow_system_table_mods
变更历史
示例
误用 allow_system_table_mods 来 (除其他外) 禁用元数据查找
postgres=# SHOW allow_system_table_mods;
allow_system_table_mods
-------------------------
on
(1 row)
postgres=# UPDATE pg_class SET relname='pg_foo' WHERE relname='pg_class';
UPDATE 1
postgres=# \dt
ERROR: relation "pg_catalog.pg_class" does not exist
LINE 5: FROM pg_catalog.pg_class c
^