ALTER SYSTEM
ALTER SYSTEM - 更改服务器配置参数说明
语法格式
ALTER SYSTEM SET configuration_parameter { TO | = } { value | '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。此外,由于此命令直接作用于文件系统且无法回滚,因此不允许在事务块或函数内部。
参数说明
configuration_parameter
可设置配置参数说明的名称。
value
参数说明的新值。可以将值指定为字符串常量,标识符,数字或这些值的逗号分隔列表,以适合特定参数说明。可以编写 DEFAULT 以指定从 postgresql.auto.conf 中删除参数说明及其值。
注意事项
此命令不能用于设置 data_directory,也不能用于 postgresql.conf 中不允许的参数说明(例如 preset options)。
示例
设置 wal_level :
ALTER SYSTEM SET wal_level = replica;
撤消,恢复 postgresql.conf 中有效的任何设置:
ALTER SYSTEM RESET wal_level;