ALTER SYSTEM
ALTER SYSTEM — 更改服务器配置参数
语法
ALTER SYSTEM SET configuration_parameter { TO | = } { value [, ...] | DEFAULT }
ALTER SYSTEM RESET configuration_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
可设置配置参数的名称。可在 第 20 章 中找到可用参数的文档。
value
参数的新值。值可以指定为字符串常量、标识符、数字或这些值的逗号分隔列表,具体取决于特定参数。既不是数字也不是有效标识符的值必须用引号引起来。可以写入
DEFAULT
以指定从postgresql.auto.conf
中移除参数及其值。对于某些接受列表的参数,带引号的值将生成带双引号的输出以保留空格和逗号;对于其他参数,必须在单引号字符串中使用双引号才能获得此效果。
注释
此命令不能用于设置data_directory,也不能用于postgresql.conf
中不允许的参数(例如,预设选项)。
请参见第 20.1 节,了解设置参数的其他方法。
示例
设置wal_level
ALTER SYSTEM SET wal_level = replica;
撤消该操作,恢复在postgresql.conf
中有效的任何设置
ALTER SYSTEM RESET wal_level;
兼容性
ALTER SYSTEM
语句是PostgreSQL扩展。