使用者家目錄中的 .pgpass
檔案可以包含密碼,以便在連線需要密碼(且未以其他方式指定密碼)時使用。在 Microsoft Windows 上,檔案名為 %APPDATA%\postgresql\pgpass.conf
(其中 %APPDATA%
是指使用者設定檔中的 Application Data 子目錄)。或者,可以使用連線參數 passfile 或環境變數 PGPASSFILE
指定要使用的密碼檔案。
此檔案應包含以下格式的行
hostname
:port
:database
:username
:password
(您可以將上面的行複製並在其前面加上 #
,以在檔案中新增提醒註解。)前四個欄位的每一個都可以是文字值,或 *
,它會比對任何內容。將使用符合目前連線參數的第一行的密碼欄位。(因此,當您使用萬用字元時,請先放置更具體的項目。)如果項目需要包含 :
或 \
,請使用 \
跳脫此字元。如果指定了 host
連線參數,則主機名稱欄位會與之比對,否則會與指定的 hostaddr
參數比對;如果兩者皆未給定,則會搜尋主機名稱 localhost
。當連線是 Unix 網域通訊端連線且 host
參數符合 libpq 的預設通訊端目錄路徑時,也會搜尋主機名稱 localhost
。在待命伺服器中,replication
的資料庫欄位符合與主要伺服器建立的串流複寫連線。否則資料庫欄位的用處有限,因為使用者對同一叢集中的所有資料庫都有相同的密碼。
在 Unix 系統上,密碼檔案的權限必須禁止任何對世界或群組的存取;透過執行諸如 chmod 0600 ~/.pgpass
之類的命令來達成此目的。如果權限沒有這麼嚴格,則檔案將被忽略。在 Microsoft Windows 上,假定檔案儲存在安全的目錄中,因此不會進行任何特殊的權限檢查。
如果您在文件中看到任何不正確、與您使用特定功能的經驗不符或需要進一步澄清的地方,請使用此表單來報告文件問題。