路徑相關的配置參數主要有下面這幾個:
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沒有指定那就報錯。數據庫