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

我有一个pgpass.conf文件,对我的默认用户来说效果很好。 它位于C:/Users/myuser/AppData/Roaming/postgresql/pgpass.conf 。 它读起来像这样;

 localhost:5432:*:postgres:password1 

我有一个运行在pipe理员帐户下的进程。 当我在这个过程中运行whoami我得到nt authority/system 。 我希望能够从这个过程中访问数据库,但它因为需要密码而卡住了。 我已经尝试把上面的pgpass.conf放到C:/Users/Administrator/AppData/postgresql/pgpass.confC:/Users/Administrator/AppData/Roaming/postgresql/pgpass.conf但是不起作用。 这是这个文件的正确位置吗? 我甚至可以作为pipe理员来做到这一点。 不幸的是,我不能改变这个过程运行的用户。

查看使用此帐户login时echo %APPDATA%输出的内容。

或者,您可以将PGPASSFILE环境variables指向文件的位置,无论它在哪里,甚至可以使用密码本身设置PGPASSWORD环境variables以完全避免该文件。

文档中的环境variables和密码文件部分给出了详细信息。