Postgres pgpass窗口 – 不工作

DB:Postgres 9.0客户端:Windows 7 Server Windows 2008,64位

我试图远程连接到一个postgres实例来执行一个pg_dump到我的本地机器。

一切工作从我的客户端机器,除了我需要在密码提示提供密码,我最终希望批处理脚本。

我按照这里的说明:

http://www.postgresql.org/docs/current/static/libpq-pgpass.html

但它不工作。

回顾一下,我在客户端上创build了一个文件(并尝试了服务器):C:/Users/postgres/AppData/postgresql/pgpass.conf,其中postgresql是db用户。

该文件具有以下数据的一行:

\*:5432:\*postgres:[mypassword] 

(也尝试明确的ip / dbname值,所有的星号,以及之间的每个组合。

(我也试着用[localhost | myip]和[mydatabasename]分别replace每个'*'。

从我的客户端机器上,

 pg_dump -h [myip] -U postgres -w [mydbname] > [mylocaldumpfile] 

我假设我需要提供'-w'开关,以便忽略密码提示,此时它应该在服务器上的AppData目录中查找。

它只是回来“与数据库连接失败:fe_sendauth:没有密码提供。

任何见解都表示赞赏。

作为一个黑客的解决方法,如果有一种方法,我可以告诉我的客户端机器上的Windowsbatch file,以在postgres提示符处注入密码,那也可以。

谢谢。

请使用这个脚本来生成备份。

 PGPASSWORD='database password' PGUSER='database user' PGHOST='localhost' PGPORT='psql portno' PGDATABASE='database name' pg_dump -Ft <database name> -x -O -f '<backup file name.tar>' 

我会尝试相当于strace来查看它是否在pgpass.conf ,以及它在哪里寻找pgpass.conf

-w选项是不必要的,与您的问题无关。