支援的版本:目前 (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 檔案可以包含密碼,以便在連線需要密碼(且未以其他方式指定密碼)時使用。在 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 上,假定檔案儲存在安全的目錄中,因此不會進行任何特殊的權限檢查。

提交更正

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