受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发版本: devel

19.13. 文件位置 #

除了前面已经提到的 postgresql.confPostgreSQL 还会使用另外两个手工编辑的配置文件来控制客户端认证(相关用法见 Chapter 20)。 默认情况下,这三个配置文件都存放在数据库集簇的数据目录中。本节所述参数允许把这些配置文件放到别处。 这样做有时更便于管理,尤其是当配置文件单独存放时,往往更容易保证它们得到正确备份。

data_directory #

指定用于数据存储的目录。此参数只能在服务器启动时设置。

config_file #

指定主服务器配置文件,通常称为 postgresql.conf。 此参数只能在 postgres 命令行上设置。

hba_file #

指定基于主机的认证配置文件,通常称为 pg_hba.conf。 此参数只能在服务器启动时设置。

ident_file #

指定用户名映射配置文件,通常称为 pg_ident.conf。 此参数只能在服务器启动时设置。另请参见 Section 20.2

external_pid_file #

指定服务器应创建的额外进程 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 的启动目录来解释。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。