Postgres 密码认证失败

Sha*_*din 43 postgresql 13.10

我已经在 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
Run Code Online (Sandbox Code Playgroud)

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

psql: FATAL:  password authentication failed for user "postgres"
Run Code Online (Sandbox Code Playgroud)

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

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

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

编辑

ph_hba 文件:

这里

截屏:

在此处输入图片说明

Cra*_*ger 78

您将 unix 用户“postgres”的密码与数据库用户“postgres”的数据库密码混淆了。这些是不一样的。

您已将自己锁定,因为您md5postgres未为数据库用户设置密码的情况下为数据库用户启用了身份验证postgres

在 的顶部添加一个新行pg_hba.conf

local    postgres     postgres     peer
Run Code Online (Sandbox Code Playgroud)

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

sudo -u postgres psql
Run Code Online (Sandbox Code Playgroud)

从结果提示:

ALTER USER postgres PASSWORD 'my_postgres_password';
Run Code Online (Sandbox Code Playgroud)

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

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