On this page
ALTER SYSTEM
ALTER SYSTEM —更改服务器配置参数
Synopsis
ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }
ALTER SYSTEM RESET configuration_parameter
ALTER SYSTEM RESET ALL
Description
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
或将 SIGHUPsignal 发送到主服务器进程来命令重新配置服务器。
只有超级用户可以使用ALTER SYSTEM
。另外,由于此命令直接作用于文件系统且无法回滚,因此不允许在事务块或函数内部使用该命令。
Parameters
configuration_parameter
- 可设置的配置参数的名称。可用参数记录在Chapter 19中。
value
- 参数的新值。可以将值指定为字符串常量,标识符,数字或以逗号分隔的列表(视具体参数而定)。可以写入
DEFAULT
以指定从postgresql.auto.conf
中删除参数及其值。
- 参数的新值。可以将值指定为字符串常量,标识符,数字或以逗号分隔的列表(视具体参数而定)。可以写入
Notes
此命令不能用于设置data_directory,也不能用于postgresql.conf
不允许的参数(例如preset options)。
有关其他设置参数的方法,请参见Section 19.1。
Examples
设置wal_level
:
ALTER SYSTEM SET wal_level = replica;
撤消该操作,恢复在postgresql.conf
中有效的任何设置:
ALTER SYSTEM RESET wal_level;
Compatibility
ALTER SYSTEM
语句是 PostgreSQL 扩展。