我尝试通过Pgadmin从我的Windows机器使用postgres用户登录到服务器,但一直出现以下错误:
psql: FATAL: password authentication failed for user "postgres"
于是我尝试使用psql命令行登录,结果出现了相同的错误。然后我在pg_hba.conf中将本地条目设置为信任(trust),使用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'"
Are:
usename | postgres
usesysid | 10
usecreatedb | t
usesuper | t
usecatupd | t
userepl | t
passwd | ********
valuntil | 1970-01-01 00:00:00+01
useconfig |
sudo -u postgres psql -x -c "select * from pg_user where usename='postgres'"
(以查看密码有效性信息) - Daniel Vérité