Redrock Postgres 搜索 英文
版本: 9.3 / 9.4 / 9.5 / 9.6 / 10 / 11 / 12 / 13 / 14 / 15 / 16 / 17

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 环境变量必须指向包含配置文件的目录,而 data_directory 参数必须在 postgresql.conf(或在命令行中)中设置,以显示实际位于何处的数据目录。请注意,data_directory 覆盖了 -DPGDATA 用于定位数据目录,但不覆盖用于定位配置文件的位置。

如果您愿意,则可以使用参数 config_filehba_file 和/或 ident_file 单独指定配置文件名称和位置。 config_file 只能在 postgres 命令行中指定,但其他可以在主配置文件中设置。如果明确设置了所有三个参数加上 data_directory,则无需指定 -DPGDATA

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