支援的版本:目前 (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 網域 socket 連線且 host 參數符合 libpq 的預設 socket 目錄路徑時,也會搜尋主機名稱 localhost。在備用伺服器中,replication 的資料庫欄位符合與主要伺服器建立的串流複寫連線。資料庫欄位在其他情況下的用處有限,因為使用者在同一個叢集中對所有資料庫使用相同的密碼。

在 Unix 系統上,密碼檔案的權限必須禁止任何世界或群組的存取;透過執行諸如 chmod 0600 ~/.pgpass 等命令來達成此目的。如果權限沒有這麼嚴格,則會忽略該檔案。在 Microsoft Windows 上,假設檔案儲存在安全的目錄中,因此不會進行特殊的權限檢查。

提交更正

如果您在文件中發現任何不正確、與您特定功能的使用經驗不符或需要進一步說明的內容,請使用 此表單 來回報文件問題。