18.2. 文件位置
除了已经提到过的postgresql.conf
文件之外,PostgreSQL还使用另外两个手工编辑的配置文件, 它们控制客户端认证(在Chapter 19里讨论)。缺省时,所有三个配置文件都存放在数据库集群的数据目录里。 本节描述的选项允许配置文件放在别的地方。这么做可以简化管理, 特别是如果配置文件独立放置,通常可以很容易保证它得到恰当的备份。
data_directory
(string
)
声明为数据存储使用的目录。这个选项只能在服务器启动的时候设置。
config_file
(string
)
声明主服务器配置文件(通常叫postgresql.conf
)。这个选项只能在postgres
命令行上设置。
hba_file
(string
)
声明基于主机的认证(HBA)配置文件(通常叫pg_hba.conf
)。这个选项只能在服务器启动的时候设置。
ident_file
(string
)
声明用于Section 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
启动时候的路径。