使用者主目錄中的 .pgpass
檔案可以包含在連線需要密碼(且未指定其他密碼)時使用的密碼。在 Unix 系統上,目錄可以由 HOME
環境變數指定,如果未定義,則為有效使用者的家目錄。在 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 上,假定檔案儲存在安全的目錄中,因此不對其進行特殊的許可權檢查。
如果您在文件中看到任何不正確的內容、與您對特定功能的體驗不符的內容或需要進一步澄清的內容,請使用 此表單 報告文件問題。