ALTER SYSTEM — 更改一个服务器配置参数
ALTER SYSTEM SETconfiguration_parameter
{ TO | = } {value
| '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
。还有,由于
这个命令直接作用于文件系统并且不能被回滚,不允许在一个事务块或者函数中使用它。
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扩展。