路径相关的配置参数主要有下面这几个:
data_directory : 数据库所在的目录。
config_file : 设置配置参数的文件。
hba_file : host based authentication文件。
ident_file : ident身份验证相关的文件。
external_pid_file : 额外的存放pid的文件。
其中config_file只能在命令行中指定,其余能够在命令行和配置文件中指定,若是在两个地方都指定了,则命令行中的优先级高。
若是指定的是相对路径,那么external_pid_file是相对于数据库所在的目录,而其余是相对于运行pg_ctl时的当前工做目录。sql
运行pg_ctl时通常会经过-D指定一个路径,该路径称为ConfigDir,各配置参数的肯定过程以下:
1. 首先须要肯定config_file,若是已经在命令行中指定了那就用指定的值,不然就用ConfigDir目录下的postgresql.conf,若是ConfigDir没有指定那就报错。而后读取配置文件。
2. 若是data_directory没有指定,那就用ConfigDir,一样若是ConfigDir没有指定那就报错。
3. 若是hba_file没有指定,那就用ConfigDir/pg_hba.conf,一样若是ConfigDir没有指定那就报错。
4. 若是ident_file没有指定,那就用ConfigDir/pg_ident.conf,一样若是ConfigDir没有指定那就报错。数据库