PostgreSQL 9.4.4 中文手册
上一页 | 上一级 |  | 下一页

# ALTER SYSTEM

## 名称

ALTER SYSTEM -- 改变服务器配置参数

## 大纲

    ALTER SYSTEM SET configuration_parameter { TO | = } { value | 'value' | DEFAULT }

    ALTER SYSTEM RESET configuration_parameter
    ALTER SYSTEM RESET ALL

## 描述

`ALTER SYSTEM`用于在整个数据库cluster中修改服务器配置参数。 比传统的手动编辑`postgresql.conf`文件更加方便。 `ALTER SYSTEM`将给出的参数设置写到`postgresql.auto.conf`文件中， 除了读取`postgresql.conf`文件外还要读取该文件。 将一个参数设置为`DEFAULT`，或使用`RESET`变体， 从`postgresql.auto.conf`文件中删除该配置项。 使用`RESET ALL`删除所有这样的配置项。

使用`ALTER SYSTEM`设置的值将在下一次服务器配置重启之后生效 （SIGHUP或`pg_ctl reload`）， 或者在下一次服务器重启之后生效（参数只能在服务器启动时改变的情况）。

只有超级用户可以使用`ALTER SYSTEM`。还有，因为这个命令直接作用于文件系统， 并且不能回滚，所以不允许它在一个事务块或者函数内部。

## 参数

`configuration_parameter`

  可设置的配置参数名。可用的参数在第 18 章中记录。

`value`

  该参数的新值。值可以被指定为字符串常量、标识符、数字或这些值的逗号分隔的列表， 根据特定的参数而定。`DEFAULT`可以用来指定从 `postgresql.auto.conf`中删除该参数和它的值。

## 注意

这个命令不能用来设置data_directory，也不能用来设置 `postgresql.conf`中不允许的参数 （如预设选项）。

参阅第 18.1 节获取设置参数的其他方式。

## 例子

设置`wal_level`：

    ALTER SYSTEM SET wal_level = hot_standby;

取消设置，恢复在`postgresql.conf`中的有效设置：

    ALTER SYSTEM RESET wal_level;

## 兼容性

`ALTER SYSTEM`语句是一个PostgreSQL扩展。

## 又见

SET, SHOW

上一页 | 起始页 | 下一页
ALTER SERVER | 上一级 | ALTER TABLE