連線服務檔案允許將 libpq 連線參數與單一服務名稱建立關聯。然後,可以在 libpq 連線字串中指定該服務名稱,並使用相關聯的設定。這允許修改連線參數,而無需重新編譯使用 libpq 的應用程式。也可以使用 PGSERVICE
環境變數來指定服務名稱。
可以在每個使用者的服務檔案或系統範圍的檔案中定義服務名稱。如果使用者檔案和系統檔案中存在相同的服務名稱,則使用者檔案優先。預設情況下,每個使用者的服務檔案名為 ~/.pg_service.conf
。在 Microsoft Windows 上,它名為 %APPDATA%\postgresql\.pg_service.conf
(其中 %APPDATA%
指的是使用者設定檔中的 Application Data 子目錄)。可以透過設定環境變數 PGSERVICEFILE
來指定不同的檔案名稱。系統範圍的檔案名為 pg_service.conf
。預設情況下,它位於 PostgreSQL 安裝的 etc
目錄中(使用 pg_config --sysconfdir
來精確識別此目錄)。可以透過設定環境變數 PGSYSCONFDIR
來指定另一個目錄,但不能指定不同的檔案名稱。
這兩個服務檔案都使用 “INI 檔案” 格式,其中區段名稱是服務名稱,參數是連線參數;有關清單,請參閱第 32.1.2 節。例如
# comment [mydb] host=somehost port=5433 user=admin
PostgreSQL 安裝中的 share/pg_service.conf.sample
中提供了一個範例檔案。
從服務檔案取得的連線參數會與從其他來源取得的參數組合。服務檔案設定會覆寫相應的環境變數,反過來可以被直接在連線字串中給定的值覆寫。例如,使用上述服務檔案,連線字串 service=mydb port=5434
將使用主機 somehost
、連接埠 5434
、使用者 admin
以及由環境變數或內建預設值設定的其他參數。
如果您在文件中發現任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。