微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

postgresql – Postgres密码认证失败

我试图用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年,这意味着它目前无效。
这解释了与密码不正确的错误消息相同。

重置有效性:

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/

原文地址:https://www.jb51.cc/postgresql/193669.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐