9.3 9.4 9.5 9.6 10 11 12 13 14 15 16 17 Current(18)
PostgreSQL中文社区 问题报告 纠错本页面

19.2. 文件位置 #

除了已经提到过的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会覆盖 -DPGDATA指定的数据目录位置,但不会覆盖配置文件的位置。

如果你愿意,可以使用参数config_filehba_file和/或ident_file单独指定配置文件名称和位置。config_file只能在postgres命令行上指定,但是其他参数可以在主配置文件中设置。如果所有三个参数加上data_directory被显式地设置,则不必指定-DPGDATA

在设置任何这些参数时,相对路径将被解释为相对于postgres启动的目录。