# 20.2.

文件位置除了postgresql.conf文件已经提到,PostgreSQL 使用另外两个手动编辑的配置文件,它们控制客户端身份验证(它们的使用在第 21 章)。默认情况下,所有三个配置文件都存储在数据库集群的数据目录中。本节中描述的参数允许将配置文件放置在其他地方。(这样做可以简化管理。尤其是当配置文件分开保存时,通常更容易确保它们得到正确备份。)

数据目录(细绳)

指定用于数据存储的目录。此参数只能在服务器启动时设置。

配置文件(细绳)

指定主服务器配置文件(习惯上称为postgresql.conf)。该参数只能在postgres命令行。

hba_file(细绳)

指定基于主机的身份验证的配置文件(通常称为pg_hba.conf)。此参数只能在服务器启动时设置。

ident_file(细绳)

指定用户名映射的配置文件(习惯上称为pg_ident.conf)。此参数只能在服务器启动时设置。也可以看看第 21.2 节.

external_pid_file(细绳)

指定服务器应创建以供服务器管理程序使用的附加进程 ID (PID) 文件的名称。此参数只能在服务器启动时设置。

在默认安装中,上述参数均未明确设置。相反,数据目录由-D命令行选项或PGD​​ATA环境变量,配置文件都在数据目录中。

如果您希望将配置文件保存在数据目录之外的其他位置,则postgres -D命令行选项或PGD​​ATA环境变量必须指向包含配置文件的目录,并且数据目录参数必须设置在postgresql.conf(或在命令行上)显示数据目录的实际位置。请注意数据目录覆盖-DPGD​​ATA用于数据目录的位置,但不用于配置文件的位置。

如果您愿意,可以使用参数单独指定配置文件名称和位置配置文件,hba_file和/或ident_file.配置文件只能在postgres命令行,但其他可以在主配置文件中设置。如果所有三个参数加上数据目录是显式设置的,则无需指定-D或者PGD​​ATA.

当设置这些参数中的任何一个时,相对路径将被解释为相对于其中的目录postgres已启动。