2025年9月25日: PostgreSQL 18 釋出!
支援的版本: 當前 (18) / 17 / 16 / 15 / 14 / 13
開發版本: devel
不受支援的版本: 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1

19.2. 檔案位置 #

除了前面提到的 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 覆蓋 -DPGDATA 指定的資料目錄位置,但不會覆蓋配置檔案位置。

如果需要,您可以使用 config_filehba_file 和/或 ident_file 引數單獨指定配置檔名稱和位置。config_file 只能在 postgres 命令列上指定,而其他引數可以在主配置檔案中設定。如果顯式設定了所有三個引數以及 data_directory,則無需指定 -DPGDATA

設定這些引數中的任何一個時,相對路徑都將相對於啟動 postgres 的目錄進行解釋。

提交更正

如果您在文件中看到任何不正確、與您對特定功能的體驗不符或需要進一步澄清的內容,請使用 此表格 報告文件問題。