Postgresql 9.3忽略pgpass.conf文件

Postgresql 9.3忽略pgpass.conf文件,postgresql,postgresql-9.3,Postgresql,Postgresql 9.3,使用Windows 10和PostgreSQL 9.3 我有一个批处理文件,它执行一系列pg_dump命令来备份数据库中选定的表,还有一个相关文件,它使用psql将表恢复到空数据库中。对于每次调用pg_dump或psql,我都必须输入密码。在客户的机器上(通常是Windows Server的某个版本),我有一个pgpass.conf文件来指定密码,而不必每次都输入密码 我的pgpass.conf文件包含localhost:5432:*:someuser:somepassword。我已尝试将其放入

使用Windows 10和PostgreSQL 9.3

我有一个批处理文件,它执行一系列pg_dump命令来备份数据库中选定的表,还有一个相关文件,它使用psql将表恢复到空数据库中。对于每次调用pg_dump或psql,我都必须输入密码。在客户的机器上(通常是Windows Server的某个版本),我有一个pgpass.conf文件来指定密码,而不必每次都输入密码

我的pgpass.conf文件包含
localhost:5432:*:someuser:somepassword
。我已尝试将其放入
%APPDATA%/postresql
并将其放入名为
c:\misc
的文件夹中,并创建一个名为PGPASSFILE的环境变量,其中包含
c:\misc\pgpass.conf
。在每次更改后,我都重新启动了PostgreSQL服务


我遗漏了什么?

恐怕这是一个无法回答的问题

我想我应该试试支持的PostgreSQL版本,所以我安装了9.6。我把它分配到5435端口。我在PGPASSFILE环境变量指向的文件中添加了相应的行。成功了。我试着瞄准我的9.3数据库。它仍然有效。我删除了端口5435的线路。它仍然有效。我将pgpass.conf文件复制到默认的%appdata%/postgresql文件夹中,删除了pgpass文件,它仍然有效


因此,我不知道是什么损坏了,也不知道是什么修复了它,但它已修复。

文件权限?我不使用MS Windows,但在Linux(IIRC)下,需要将users.pgpass文件设置为用户以外的任何人都无法读取(
chmod 600
)@gsiems我认为这不适用于Windows。我会使用类似ProcMon的工具查看它在哪里查找该文件,这将为您提供出错的线索。