除了前面提到的 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
启动的目录进行解释。
如果您在文档中看到任何不正确、与您使用特定功能时的体验不符或需要进一步澄清的内容,请使用此表单报告文档问题。