↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4

ALTER SYSTEM

ALTER SYSTEM — 更改服务器配置参数

大纲

ALTER SYSTEM SET configuration_parameter { TO | = } { 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

一个可设置的配置参数名称。可用参数见第 20 章。

value

参数的新值。根据具体参数的要求,值可以指定为字符串常量、标识符、数字,或这些内容构成的逗号分隔列表。既不是数字也不是有效标识符的值必须加引号。可以写入 DEFAULT,以指定从 postgresql.auto.conf 中删除该参数及其值。

对于某些接受列表的参数,带引号的值会生成带双引号的输出,以保留空白和逗号;对于另一些参数,则必须在单引号字符串内部使用双引号才能达到这种效果。

注解

此命令不能用于设置 data_directory,也不能用于设置 postgresql.conf 中不允许的参数(例如预设选项)。

关于设置这些参数的其他方法,见第 20.1 节。

示例

设置 wal_level:

ALTER SYSTEM SET wal_level = replica;

撤销该设置,恢复为 postgresql.conf 中生效的设置:

ALTER SYSTEM RESET wal_level;

兼容性

ALTER SYSTEM 语句是一种 PostgreSQL 扩展。

另见

SET, SHOW

报告文档问题

阅读 上游文档. 通过 PostgreSQL 文档反馈表单.