allow_alter_system

控制 ALTER SYSTEM 用法的 GUC

allow_alter_system 是一个 配置参数,用于控制 ALTER SYSTEM 命令的使用。

allow_alter_system 已在 PostgreSQL 17 中添加。

默认

allow_alter_system 的默认值为:on

用法

通过 allow_alter_system 禁用 ALTER SYSTEM 的设计初衷是用于 PostgreSQL 配置由外部工具或设施管理的场景。它旨在防止通过 ALTER SYSTEM 进行手动配置修改,这可能会与外部工具所做的修改发生冲突。

它并非用作可能的安全措施。特别是,它对 postgresql.auto.conf 没有影响,对该文件的修改仍然会生效。

按 PostgreSQL 版本详细信息

allow_alter_system (PostgreSQL 19)

设置 开启
单位  
类别 版本和平台兼容性 / 其他平台和客户端
简短描述 允许运行 ALTER SYSTEM 命令。
扩展描述 对于应使用其他方法进行全局配置更改的环境,可以将其设置为 off。
上下文 sighup
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档: allow_alter_system

allow_alter_system (PostgreSQL 18)

设置 开启
单位  
类别 版本和平台兼容性 / 其他平台和客户端
简短描述 允许运行 ALTER SYSTEM 命令。
扩展描述 对于应使用其他方法进行全局配置更改的环境,可以将其设置为 off。
上下文 sighup
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档: allow_alter_system

allow_alter_system (PostgreSQL 17)

设置 开启
单位  
类别 版本和平台兼容性 / 其他平台和客户端
简短描述 允许运行 ALTER SYSTEM 命令。
扩展描述 对于应使用其他方法进行全局配置更改的环境,可以将其设置为 off。
上下文 sighup
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档: allow_alter_system

变更历史

示例

allow_alter_system 的基本用法示例

postgres=# SHOW allow_alter_system;
 allow_alter_system 
--------------------
 off
(1 row)

postgres=# ALTER SYSTEM SET log_statement = 'all';
ERROR:  ALTER SYSTEM is not allowed in this environment

allow_alter_system 无法从客户端应用程序更改

postgres=# SET allow_alter_system TO off;
ERROR:  parameter "allow_alter_system" cannot be changed now

postgres=# ALTER SYSTEM SET allow_alter_system TO off;
ERROR:  parameter "allow_alter_system" cannot be changed

分类

兼容性, 配置, GUC 配置项

另请参阅

ALTER SYSTEM

反馈

提交关于“allow_alter_system”的任何评论、建议或更正请点此 此处