PostgreSQL参数allow_system_table_mods
allow_system_table_mods 参数表示允许对 PostgreSQL 数据库系统表的表结构进行修改,该操作有风险,仅超级用户可以执行,谨慎使用此设置,否则可能会导致无法恢复的数据丢失或严重损坏数据库系统,导致数据库不可用。
- 参数类型:boolean
- 默认值:false
- 可选参数:true/on,false/off
- 可动态修改参数值
- 仅超级用户有权限修改该参数
示例:
当 allow_system_table_mods 参数为 false 时,给系统表 pg_namespace 增加字段报错,参数设置为 true 之后,就可以为系统表 pg_namespace 增加字段 age,如下所示:
postgres=# alter table pg_namespace add column age int; ERROR: permission denied: "pg_namespace" is a system catalog postgres=# set allow_system_table_mods=true; SET postgres=# alter table pg_namespace add column age int; ALTER TABLE
非 super 用户不能修改 allow_system_table_mods 参数值,如下:
postgres=> set allow_system_table_mods=true; ERROR: permission denied to set parameter "allow_system_table_mods"
文章评论
共0条评论