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 扩展。

See Also

SET, SHOW