选择 打开 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0
历史版本PostgreSQL 9.4 已于 2020 年 2 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本

18.2. 文件位置 #

除了已经提到过的postgresql.conf文件之外,PostgreSQL还使用另外两个手工编辑的配置文件,它们控制客户端认证(其使用在第 19 章中讨论)。默认情况下,所有三个配置文件都存放在数据库集簇的数据目录中。 本节描述的参数允许配置文件放在别的地方(这么做可以简化管理,特别是如果配置文件被独立放置,可以很容易保证它得到恰当的备份)。

data_directory (string) #

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

config_file (string) #

指定主服务器配置文件(通常叫postgresql.conf)。这个参数只能在postgres命令行上设置。

hba_file (string) #

指定基于主机认证配置文件(通常叫pg_hba.conf)。这个参数只能在服务器启动的时候设置。

ident_file (string) #

指定用于用户名称映射的配置文件(通常叫pg_ident.conf)。这个参数只能在服务器启动的时候设置。另见第 19.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 时所在目录的路径。

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。