ALTER SYSTEM
ALTER SYSTEM — 更改服务器配置参数
大纲
ALTER SYSTEM SETconfiguration_parameter{ TO | = } {value| 'value' | DEFAULT } ALTER SYSTEM RESETconfiguration_parameterALTER 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。此外,由于此命令直接作用于文件系统且无法回滚,因此不允许在事务块或函数中使用。
参数
configuration_parameter一个可设置的配置参数名称。可用参数见第 19 章。
value参数的新值。根据具体参数的不同,可以适当地将值指定为字符串常量、标识符、数字或这些值的逗号分隔列表。可以写入
DEFAULT,以指定从postgresql.auto.conf中移除参数及其值。
示例
设置 wal_level:
ALTER SYSTEM SET wal_level = replica;
撤销该设置,恢复为 postgresql.conf 中生效的设置:
ALTER SYSTEM RESET wal_level;
兼容性
ALTER SYSTEM 语句是一种
PostgreSQL 扩展。