微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – Postgres pgpass windows – 无法正常工作

DB:Postgres 9.0
客户端: Windows 7
服务器Windows 2008,64位

我正在尝试远程连接到postgres实例,以便为我的本地计算机执行pg_dump.

一切都在我的客户端机器上工作,除了我需要在密码提示符下提供密码,我最终想用脚本批量处理它.

我按照这里的说明操作:

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

但它不起作用.

回顾一下,我在服务器上创建了一个文件:C:/Users/postgres/AppData/postgresql/pgpass.conf,其中postgresql是db用户.

文件有一行包含以下数据:

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

我也尝试分别用[localhost | myip]和[mydatabasename]替换每个*.

从我的客户端机器,我连接使用:

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

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

它回来了:

connection to database Failed: fe_sendauth: no password supplied.

任何见解都表示赞赏.

作为一个黑客解决方法,如果有一种方法,我可以告诉我的客户端机器上的Windows批处理文件在postgres提示符下注入密码,这也可以.

谢谢.

解决方法

我已经解决了类似的问题(仅在Linux中)在pgpass和psql中使用ip地址.

.pgpass

127.0.0.1:5432:db:dbuser:123

psql参数

psql -d db -U dbuser -h 127.0.0.1 -w

pg_hba conf认设置:

# IPv4 local connections:
84 host    all         all         127.0.0.1/32          md5

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐