支援的版本: 目前 (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 環境變數必須指向包含設定檔的目錄,並且必須在 postgresql.conf(或命令列)中設定 data_directory 參數,以顯示資料目錄的實際位置。 請注意,對於資料目錄的位置,data_directory 會覆蓋 -DPGDATA,但不會覆蓋設定檔的位置。

如果您願意,可以使用參數 config_filehba_file 和/或 ident_file 單獨指定設定檔名稱和位置。 config_file 只能在 postgres 命令列上指定,但其他參數可以在主設定檔中設定。 如果所有三個參數加上 data_directory 都被明確設定,則不需要指定 -DPGDATA

當設定這些參數中的任何一個時,相對路徑將根據 postgres 啟動所在的目錄進行解釋。

提交更正

如果您在文件中發現任何不正確、與特定功能的使用體驗不符或需要進一步說明的內容,請使用此表單報告文件問題。