当前位置: 首页 > 知识库问答 >
问题:

Postgres密码验证失败

骆雅昶
2023-03-14

我试图登录与postgres用户从我的Windows机器到我的服务器与Pgadmin。

但它一直给我这个错误:

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

然后我试图用psql从命令行登录,这给了我同样的错误。然后,我重置密码使用psql测试,把本地条目pg_hba.conf信任。然后我把条目放回md5,并试图用密码“测试”登录。

在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。

因此,即使我能够以通常的方式更改密码,它也不会被接受为密码。

我希望有人能帮我。

一些信息:

Postgreql 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   |

共有3个答案

尹俊贤
2023-03-14

pg_hba.conf条目按IP地址定义登录方法。为了获得适当的帮助,您需要显示pg_hba.conf的相关部分。

更改此行:

host    all             all             <my-ip-address>/32        md5

以反映您的本地网络设置。所以,如果你的IP是192.168.16.78(C类),带有255.255.255.0的掩码,那么把这个:

host    all             all             192.168.16.0/24        md5

请确保您的WINDOWS计算机位于该网络中,然后重试。

董良策
2023-03-14

我遇到了这个问题,这里的答案不适合我;我不明白为什么我不能登录,并得到了上面的错误。

结果表明,postgresql将用户名保存为小写,但在身份验证过程中,它同时使用大写和小写。

CREATE USER myNewUser WITH PASSWORD 'passWord';

将创建用户名为“mynewuser”和密码为“password”的用户。

这意味着您必须使用mynewuser进行身份验证,而不是myNewUser。对于像我这样的pgsql新手来说,这很困惑。我希望它能帮助其他遇到这个问题的人。

姬雪松
2023-03-14

如最新编辑所示,密码有效期至1970年,这意味着它目前无效。这解释了错误消息,该消息与密码不正确相同。

使用以下命令重置有效性:

ALTER USER postgres VALID UNTIL 'infinity';

在最近的一个问题中,另一个用户的用户帐户和PG-9.2也有相同的问题:

PostgreSQL-添加组角色后密码身份验证失败

因此,显然有一种方法可以无意中将假密码有效性设置为Unix时代(1970年1月1日,abstime类型的最小可能值)。可能,PG本身或某些客户端工具中存在可能导致这种情况的错误。

编辑:结果是一个pgadmin错误。看见https://dba.stackexchange.com/questions/36137/

 类似资料:
  • 在我的Postgres服务器中,使用命令pg_createcluster监听端口5433创建了一个集群。要设置用户postgres的密码,我遵循以下步骤: 编辑文件nano/etc/postgresql/9.3//pg_hba.conf 改变线路 托管所有127.0.0.1/32 md5 按行 托管所有127.0.0.1/32信任 sudo-u postgres psql-h localhost-

  • 我使用数字海洋从hello示例创建了一个phenix项目。我从etc/motd输入了用户名和密码。尾部文件。我一直收到下面的错误消息。我是一个初学者,由于某些原因,我无法正确安装eco。 **(混合)无法为Hello.Repo创建数据库,原因如下:psql: FATAL:用户"elixir"密码验证失败FATAL:用户"elixir"密码验证失败 您可以使用以下Postgress数据库凭据:* U

  • 我已经看了类似的问题,并尝试了一些方法,如编辑pg_hba文件以信任,并执行ALTER USER postgres PASSWORD'newPassword';但都不起作用。我确实重启postgres后做了这样的改变。 上下文是我为一家公司提供了一个web应用程序,我正试图通过命令bundle exec rake db:。。。 如果有帮助的话,我最初会遇到错误“PG::ConnectionBad:

  • 我制作了一个PDB,我可以通过sys作为sysdba连接到这个PDB,但是我不能连接我自己的普通用户或本地用户。 原因是ORA-01017:密码错误。 在sqlnet.ora中设置之后: 密码以quation标记开始结束,然后生效。 创建用户和登录用户的命令: 为什么?如何将SQLNET.ALLOWED\u LOGON\u VERSION\u SERVER升级到12。我可以设置没有引号的密码吗?

  • 我最近安装了Postgresql 11,在安装过程中,没有为Postgres输入密码和用户名的步骤。现在在PGADMIN4中,我想将数据库连接到服务器,它要求我输入密码,而我一开始就没有输入任何密码。任何人都知道发生了什么。谢谢!

  • 问题内容: 因此,我必须创建验证密码是否有效的代码: 至少8个字符长 包含至少1个数字 包含至少1个大写字母 这是代码: 我不确定出什么问题,但是当我输入带有数字的密码时-它会一直告诉我我需要一个带有数字的密码。有什么办法吗? 问题答案: 您可以将模块用于正则表达式。 有了它,您的代码将如下所示: