Windows-Server-2008
如何在 pgpass.conf 中為 Windows Server 2008 上的管理員帳戶設置 postgresql 密碼?
我有一個適用於我的預設使用者的 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.conf
,C:/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