我尝试使用我的 Windows 机器上的 postgres 用户使用 Pgadmin 登录到我的服务器。
但它一直给我这个错误:
psql: FATAL: password authentication failed for user "postgres"
然后我尝试使用 psql 从命令行登录,这给了我同样的错误。然后,在将 pg_hba.conf 中的本地条目放入信任之后,我使用 psql 将密码重置为“test”。然后我将条目放回 md5,并尝试使用密码“test”登录。
在 psql 中,我使用了以下命令:
ALTER ROLE postgres WITH PASSWORD 'test';
ALTER ROLE postgres PASSWORD 'test';
ALTER USER postgres WITH PASSWORD 'test';
ALTER USER postgres PASSWORD 'test';
还有这个特殊的 psql 命令
\password
每次,我将 pg_hba.conf 本地条目返回给 md5,并尝试使用 psql 登录:
psql -U postgres
然后我被要求输入密码。输入“test”后,psql 给出了与我之前提到的相同的错误。
当然,我在每次更改 pg_hba 文件后都重新启动了 postgresql。我正在使用带有'su postgres'的psql。
因此,即使我能够以通常的方式更改密码,它也不会被接受为密码。
我希望有人能够帮助我解决这个问题。
一些信息:
Postgresql 9.1 Ubuntu 12.04
Pg_hba 文件(根据要求)
local all postgres md5
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
host all all <my-ip-address>/32 md5
想修改密码的时候,把上面的md5改成trust。我想提一下,这个配置以前没有问题。
结果
sudo -u postgres psql -x -c "select * from pg_user where usename='postgres'"
是:
usename | postgres
usesysid | 10
usecreatedb | t
usesuper | t
usecatupd | t
userepl | t
passwd | ********
valuntil | 1970-01-01 00:00:00+01
useconfig |