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 / 8.0 / 7.4

32.16. 密碼檔案 #

使用者主目錄中的 .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 上,假定檔案儲存在安全的目錄中,因此不對其進行特殊的許可權檢查。

提交更正

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