On this page
19.2. 文件位置
除了已经提到的postgresql.conf
文件之外,PostgreSQL 还使用其他两个手动编辑的配置文件来控制 Client 端身份验证(它们的用法在Chapter 20中进行了讨论)。默认情况下,所有三个配置文件都存储在数据库集群的数据目录中。本节中描述的参数允许将配置文件放置在其他位置。 (这样做可以简化 Management.尤其是,将配置文件分开保存时,通常更容易确保正确备份它们.)
-
- 指定用于数据存储的目录。该参数只能在服务器启动时设置。
-
- 指定主服务器配置文件(通常称为
postgresql.conf
)。此参数只能在postgres
命令行上设置。
- 指定主服务器配置文件(通常称为
-
- 指定用于基于主机的身份验证的配置文件(通常称为
pg_hba.conf
)。该参数只能在服务器启动时设置。
- 指定用于基于主机的身份验证的配置文件(通常称为
-
- 指定用于用户名 Map 的配置文件(通常称为
pg_ident.conf
)。该参数只能在服务器启动时设置。另请参见Section 20.2。
- 指定用于用户名 Map 的配置文件(通常称为
-
- 指定服务器应创建供服务器 Management 程序使用的其他进程 ID(PID)文件的名称。该参数只能在服务器启动时设置。
在默认安装中,以上参数均未明确设置。而是通过-D
命令行选项或PGDATA
环境变量指定数据目录,并且所有配置文件都在数据目录中找到。
如果要将配置文件保留在数据目录之外的其他位置,则postgres
-D
命令行选项或PGDATA
环境变量必须指向包含配置文件的目录,并且data_directory
参数必须在postgresql.conf
中设置(或在命令行上) )以显示数据目录的实际位置。请注意,data_directory
会覆盖-D
和PGDATA
来表示数据目录的位置,而不是配置文件的位置。
如果需要,可以使用参数config_file
,hba_file
和/或ident_file
分别指定配置文件的名称和位置。只能在postgres
命令行上指定config_file
,而其他可以在主配置文件中设置。如果显式设置了所有三个参数加data_directory
,则不必指定-D
或PGDATA
。
设置这些参数中的任何一个时,将相对于postgres
所在的目录解释相对路径。