除了前面提到的 postgresql.conf
檔案之外,PostgreSQL 還使用另外兩個手動編輯的配置檔案,它們控制客戶端身份驗證(它們的使用在 第 20 章 中討論)。預設情況下,這三個配置檔案都儲存在資料庫叢集的資料目錄中。本節介紹的引數允許將配置檔案放置在其他位置。(這樣做可以簡化管理。特別是,當配置檔案單獨存放時,更容易確保它們被正確備份。)
data_directory
(string
) #指定用於資料儲存的目錄。此引數只能在伺服器啟動時設定。
config_file
(string
) #指定主伺服器配置檔案(習慣上稱為 postgresql.conf
)。此引數只能在 postgres
命令列上設定。
hba_file
(string
) #指定基於主機的身份驗證配置檔案(習慣上稱為 pg_hba.conf
)。此引數只能在伺服器啟動時設定。
ident_file
(string
) #指定使用者名稱對映的配置檔案(習慣上稱為 pg_ident.conf
)。此引數只能在伺服器啟動時設定。另請參閱 20.2 節。
external_pid_file
(string
) #指定伺服器應為伺服器管理程式建立的附加程序 ID (PID) 檔案的名稱。此引數只能在伺服器啟動時設定。
在預設安裝中,以上引數均未顯式設定。而是透過 -D
命令列選項或 PGDATA
環境變數指定資料目錄,並且所有配置檔案都位於資料目錄中。
如果要將配置檔案保留在資料目錄之外,則 postgres
-D
命令列選項或 PGDATA
環境變數必須指向包含配置檔案的目錄,並且 data_directory
引數必須在 postgresql.conf
中(或在命令列上)設定,以指示資料目錄的實際位置。請注意,data_directory
覆蓋 -D
和 PGDATA
指定的資料目錄位置,但不會覆蓋配置檔案位置。
如果需要,您可以使用 config_file
、hba_file
和/或 ident_file
引數單獨指定配置檔名稱和位置。config_file
只能在 postgres
命令列上指定,而其他引數可以在主配置檔案中設定。如果顯式設定了所有三個引數以及 data_directory
,則無需指定 -D
或 PGDATA
。
設定這些引數中的任何一個時,相對路徑都將相對於啟動 postgres
的目錄進行解釋。
如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。