Postgres密码验证失败


36

我已经在Ubuntu Server 13.10上安装了PostgreSQL 9.1和pgadmin3。

我用以下命令配置了postgresql.conf: listen_addresses = '*'

我也通过更改对等连接来配置ph_hba.conf md5

另外,我通过以下方式重置了postgres的密码: sudo password postgres

然后重新启动服务 sudo /etc/init.d/postgresql restart

之后,我尝试连接到默认的PostgreSQL模板数据库:

sudo -u postgres psql template1

但登录失败并显示以下错误消息:

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

然后我尝试从pgadmin登录,这给了我同样的错误。

我在这里阅读到它可能是密码到期日期的错误 PostgreSQL用户在更改密码后无法连接到服务器

但是我无法解决它,因为我无法使用psql登录。现在有人解决这个问题吗?

编辑

ph_hba文件:

这里

屏幕截图:

在此处输入图片说明


6
您已经克隆了这篇文章,这让我很生气。我只是为此写了一个答案,只是发现您还向stackoverflow.com发布了一个相同的问题,该问题已经得到了接受。不要在站点之间复制和粘贴答案,这是在浪费每个人的时间,并使查找信息变得更加困难。如果您坚持要这样做,请在它们之间建立链接。
Craig Ringer

Answers:


66

您正在将UNIX用户“ postgres”的密码与数据库用户“ postgres”的数据库密码混淆。这些不一样。

您已锁定自己,因为您md5为数据库用户启用了身份验证,postgres而没有为数据库用户设置密码postgres

在以下内容的顶部添加新行pg_hba.conf

local    postgres     postgres     peer

然后重新启动/重新加载PostgreSQL,并:

sudo -u postgres psql

从结果提示:

ALTER USER postgres PASSWORD 'my_postgres_password';

然后删除您添加到的行,然后pg_hba.conf再次重新启动Pg。现在,您可以使用上面设置的密码以postgres用户身份连接到PostgreSQL 。

要了解更多信息,请阅读用户手册中的“客户端身份验证”一章以及上的文档pg_hba.conf


1
在UBUNTU服务器16 LTS中测试新的pg9.6.6。...我为所有这些“初学者的问题”感到惊讶。到达解决方案这里...一步一步做...最大的惊喜:不起作用! psql -W postgresql://postgres:postgres@localhost再次产生相同的“致命:用户'postgres'的密码验证失败”
Peter Krauss

解决方案:所有部门的信任都在起作用……
Peter Krauss

我正在使用ssh ...将所有内容一一放回md5(本地,本地,主机...)后,只有“主机全部127.0.0.1/32信任”行不能更改,并保留为“信任”。那么,新的问题:为什么呢?
彼得·克劳斯

pg_hba.conf文件归系统用户所有postgres。我只知道数据库用户的数据库密码postgres,所以问题是如何在不更改所有权的情况下编辑该conf文件?
Shailen

您能告诉我这行local postgres postgres peer真正需要pg_hba.conf什么吗?没有它,一切都会运转良好
MaxCore

3

尝试使用以下方法修改数据库template1的密码:

$ psql -c "ALTER USER postgres WITH PASSWORD 'yourPassword'" -d template1

给了我同样的错误,但是使用用户“ root”而不是用户“ postgres”
Shadin 2014年

您能解释一下为什么有帮助吗?
xliiv

2

在您的pg_hba.conf中

# IPv4 local connections:
# TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32         trust

如果不起作用,请尝试

host    all         all         your_ip/32         trust

然后重新启动数据库,它将正常工作..如果您信任,那么如果您使用MD5,则不需要密码,那么它将询问密码...


3
不要在任何地方使用此方法,您应该始终限制用户对您数据的访问
最高通缉'18

除非您正在运行CTF服务器。
探路者
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.