问题描述
使用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文件夹中,删除了PGPASSFILE,它仍然有效!
所以,我不知道发生了什么问题,也不清楚修复了什么,但是已经修复了。