ALTER SYSTEM — 更改服务器配置参数
ALTER SYSTEM SETconfiguration_parameter
{ TO | = } {value
[, ...] | DEFAULT } ALTER SYSTEM RESETconfiguration_parameter
ALTER SYSTEM RESET ALL
ALTER SYSTEM
用于更改整个数据库集群的服务器配置参数。它比传统的手动编辑 postgresql.conf
文件方法更方便。 ALTER SYSTEM
将给定的参数设置写入 postgresql.auto.conf
文件,该文件在 postgresql.conf
之外读取。将参数设置为 DEFAULT
或使用 RESET
变体将从 postgresql.auto.conf
文件中删除该配置条目。使用 RESET ALL
删除所有此类配置条目。
使用 ALTER SYSTEM
设置的值将在下一次服务器配置重新加载后生效,或者在服务器重启后生效(对于只能在服务器启动时更改的参数)。可以通过调用 SQL 函数 pg_reload_conf()
、运行 pg_ctl reload
或向主服务器进程发送 SIGHUP 信号来命令服务器配置重新加载。
只有超级用户和被授予对某个参数的 ALTER SYSTEM
权限的用户才能使用 ALTER SYSTEM
更改它。此外,由于此命令直接作用于文件系统并且无法回滚,因此不允许在事务块或函数中使用它。
configuration_parameter
可设置的配置参数的名称。可用的参数在 第 19 章 中有说明。
value
参数的新值。值可以指定为字符串常量、标识符、数字或这些值的逗号分隔列表,具体取决于特定参数。既不是数字也不是有效标识符的值必须用引号括起来。 DEFAULT
可以用来指定从 postgresql.auto.conf
文件中删除该参数及其值。
对于某些接受列表的参数,用引号括起来的值将产生双引号输出以保留空格和逗号;对于其他参数,必须在单引号字符串中使用双引号才能获得此效果。
此命令不能用于设置 data_directory、allow_alter_system 或 postgresql.conf
中不允许的参数(例如,预设选项)。
请参阅 第 19.1 节,了解设置参数的其他方法。
通过将 allow_alter_system 设置为 off
可以禁用 ALTER SYSTEM
,但这并不是一种安全机制(如该参数文档中详细解释的那样)。
设置 wal_level
ALTER SYSTEM SET wal_level = replica;
撤消该操作,恢复 postgresql.conf
中生效的任何设置
ALTER SYSTEM RESET wal_level;
ALTER SYSTEM
语句是 PostgreSQL 扩展。
如果您在文档中看到任何不正确的内容、与您对特定功能的体验不符或需要进一步说明,请使用 此表格 报告文档问题。