我试图用Postgres用户从我的Windows机器登录到我的服务器与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。我使用psql与’su postgres’。
所以,即使我能够通过通常的方式更改密码,它不被接受为密码。
我希望有人能够帮助我这个。
一些信息:
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更改为信任。
我想提到这个配置以前工作没有问题。
结果
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 |
如最新编辑所示,密码有效期至1970年,这意味着它目前无效。
这解释了与密码不正确的错误消息相同。
原文链接:https://www.f2er.com/postgresql/193669.html这解释了与密码不正确的错误消息相同。
重置有效性:
ALTER USER postgres VALID UNTIL 'infinity';
在最近的一个问题中,另一个用户与用户帐户和PG-9.2有相同的问题:
PostgreSQL – Password authentication fail after adding group roles
因此,显然有一种方法来无意地将伪造密码有效性设置为Unix时期(1970年1月1日,abstime类型的最小可能值)。也许,PG本身或在一些客户端工具中会有一个错误,会创建这种情况。
编辑:原来是一个pgadmin错误。见http://dba.stackexchange.com/questions/36137/