gpt4 book ai didi

postgresql - Postgres 密码验证失败

转载 作者:行者123 更新时间:2023-11-29 11:05:59 27 4
gpt4 key购买 nike

我尝试用 postgres 用户从我的 Windows 机器登录到我的带有 Pgadmin 的服务器。

但它一直给我这个错误:

psql: FATAL:  password authentication failed for user "postgres"

然后我尝试使用 psql 从命令行登录,这给了我同样的错误。然后,在将 pg_hba.conf 中的本地条目置于信任之后,我使用 psql 将密码重置为“测试”。然后我将条目放回 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.1Ubuntu 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 |

最佳答案

如最新编辑所示,密码有效期至 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 错误。参见 https://dba.stackexchange.com/questions/36137/

关于postgresql - Postgres 密码验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14564644/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com