Windows-Server-2008

如何在 pgpass.conf 中為 Windows Server 2008 上的管理員帳戶設置 postgresql 密碼?

  • July 30, 2021

我有一個適用於我的預設使用者的 pgpass.conf 文件。它在C:/Users/myuser/AppData/Roaming/postgresql/pgpass.conf. 讀起來像這樣;

localhost:5432:*:postgres:password1

我有一個在管理員帳戶下執行的程序。當我whoami在這個過程中執行時,我得到nt authority/system. 我希望能夠從這個過程中訪問數據庫,但它卡住了,因為它需要密碼。我試過把上面的 pgpass.conf 放進去C:/Users/Administrator/AppData/postgresql/pgpass.confC:/Users/Administrator/AppData/Roaming/postgresql/pgpass.conf但它不起作用。這是該文件的正確位置嗎?作為管理員,我什至能夠做到這一點。不幸的是,我無法更改執行此過程的使用者。

查看echo %APPDATA%使用此帳戶登錄時的輸出。

作為替代方案,您可以將PGPASSFILE環境變數指向文件的位置,無論它位於何處,甚至可以PGPASSWORD使用密碼本身設置環境變數以完全避免該文件。

文件中的環境變數密碼文件部分提供了詳細資訊。

如果有人會使用 PowerShell,請使用:$env:APPDATA. 這將發現 Windows Server 2016 中的 AppData 文件夾,用於帶有 PowerShell 子系統(類型)的 MS SQL Server 2017 代理作業,如下所示:需要在C:\Users\SQLSERVERAGENT\AppData\Roaming其中創建文件夾並從使用者位置複製文件。\postgresql``pgpass.conf

引用自:https://serverfault.com/questions/431227