问题描述
因此,我忘记了Postgresql服务器上postgres
用户的密码。然后,我将md5
文件中的所有pg_hba.conf
设置更改为trust
,重新启动服务器,然后使用ALTER USER postgres...
更改了postgres用户的密码。现在,我将trust
的设置改回了md5
,再次重新启动了服务器,但是当我现在想要执行psql -U postgres
时,它会立即返回错误:
不要求我输入任何密码。 .pgpass
文件中包含以下行:
*:*:*:postgres:SOME_HASH
编辑:
以某种方式仅在以root
身份登录我的服务器时才会出现...对于我的其他用户来说,它工作得很好...
解决方法
立即的解决方案是删除包含错误密码的.pgpass
文件。如果您不是自己创建文件的,那么当您告诉pgAdmin保存密码时,很有可能是pgAdmin替您完成的。
如果指定“ -W”,则psql将提示您输入密码,而忽略.pgpass文件。但是为什么不修复.pgpass,或者如果您不使用它,则将其删除?