除了已经提到过的postgresql.conf
文件之外,PostgreSQL还使用另外两个手工编辑的配置文件,它们控制客户端认证(其使用在第 20 章中讨论)。默认情况下,所有三个配置文件都存放在数据库集簇的数据目录中。 本节描述的参数允许配置文件放在别的地方(这么做可以简化管理,特别是如果配置文件被独立放置,可以很容易保证它得到恰当的备份)。
data_directory
(string
)
指定用于数据存储的目录。这个选项只能在服务器启动时设置。
config_file
(string
)
指定主服务器配置文件(通常叫postgresql.conf
)。这个参数只能在postgres
命令行上设置。
hba_file
(string
)
指定基于主机认证配置文件(通常叫pg_hba.conf
)。这个参数只能在服务器启动的时候设置。
ident_file
(string
)
指定用于用户名称映射的配置文件(通常叫pg_ident.conf
)。这个参数只能在服务器启动的时候设置。另见第 20.2 节。
external_pid_file
(string
)
指定可被服务器创建的用于管理程序的额外进程 ID(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
启动路径的路径。