除了已经提到过的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启动的目录。