如何在 pgpass.conf 中为 Windows Server 2008 上的管理员帐户设置 postgresql 密码?

bra*_*rad 4 postgresql windows-server-2008

我有一个适用于我的默认用户的 pgpass.conf 文件。它在C:/Users/myuser/AppData/Roaming/postgresql/pgpass.conf. 它读起来是这样的;

localhost:5432:*:postgres:password1
Run Code Online (Sandbox Code Playgroud)

我有一个在管理员帐户下运行的进程。当我whoami在这个过程下运行时,我得到nt authority/system. 我希望能够从这个过程访问数据库,但它卡住了,因为它需要密码。我试过把上面的 pgpass.conf 放进去C:/Users/Administrator/AppData/postgresql/pgpass.confC:/Users/Administrator/AppData/Roaming/postgresql/pgpass.conf但它不起作用。这是该文件的正确位置吗?我什至能够以管理员身份做到这一点。不幸的是,我无法更改运行此进程的用户。

Dan*_*ité 6

查看echo %APPDATA%使用此帐户登录时的输出。

作为替代方案,您可以将PGPASSFILE环境变量指向文件的位置,无论它在哪里,甚至PGPASSWORD可以使用密码本身设置环境变量以完全避免该文件。

文档中的环境变量密码文件部分提供了详细信息。