PostgreSQL 9.4.4 中文手册
上一页 | 上一级 | 章 18. 服务器配置 | 下一页

# 18.2. 文件位置

除了已经提到过的`postgresql.conf`文件之外，PostgreSQL还使用另外两个手工编辑的配置文件， 它们控制客户端认证(在第 19 章里讨论)。缺省时，所有三个配置文件都存放在数据库集群的数据目录里。 本节描述的选项允许配置文件放在别的地方。这么做可以简化管理， 特别是如果配置文件独立放置，通常可以很容易保证它得到恰当的备份。

`data_directory` (`string`)

  声明为数据存储使用的目录。这个选项只能在服务器启动的时候设置。

`config_file` (`string`)

  声明主服务器配置文件(通常叫`postgresql.conf`)。这个选项只能在`postgres`命令行上设置。

`hba_file` (`string`)

  声明基于主机的认证(HBA)配置文件(通常叫`pg_hba.conf`)。这个选项只能在服务器启动的时候设置。

`ident_file` (`string`)

  声明用于第 19.2 节用户名匹配的配置文件(通常叫`pg_ident.conf`)。 这个选项只能在服务器启动的时候设置。

`external_pid_file` (`string`)

  声明可被服务器管理程序使用的额外PID文件。这个选项只能在服务器启动的时候设置。

缺省安装不会明确设置这些参数。而是用命令行参数`-D`或者环境变量`PGDATA`声明数据目录， 并将上述配置文件都放在数据目录里。

如果你想把配置文件放在别的地方，那么`postgres`的命令行参数`-D`或者环境变量 `PGDATA`必须指向包含配置文件的目录，而`postgresql.conf`里(或者命令行上)的`data_directory`选项 必须设置为数据目录实际存放的地方。请注意，`data_directory`将覆盖`-D`和 `PGDATA`指定的数据目录， 但是不覆盖配置文件的目录。

如果你愿意，可以使用选项`config_file`，`hba_file` 和/或者`ident_file` 分别声明配置文件的路径。`config_file`只能在`postgres`命令行上设置， 但是其它的可以在主配置文件里设置。 如果明确设置了所有三个选项和`data_directory`，那么就没必要声明`-D`或者`PGDATA`。

在设置任何这些选项的时候，相对路径将被解释为相对于`postgres`启动时候的路径。

上一页 | 起始页 | 下一页
设置参数 | 上一级 | 连接和认证