小编典典

'用户“postgres”的密码验证失败'

all

我已经安装了 PostgreSQL 8.4、Postgres 客户端和 Pgadmin 3。控制台客户端和 Pgadmin
的用户“postgres”的身份验证失败。我输入了用户为“postgres”和密码“postgres”,因为它以前工作过。但现在身份验证失败。我之前做过几次没有这个问题。我该怎么办?会发生什么?

psql -U postgres -h localhost -W
Password for user postgres: 
psql: FATAL:  password authentication failed for user "postgres"
FATAL:  password authentication failed for user "postgres"

阅读 297

收藏
2022-03-08

共1个答案

小编典典

如果我没记错的话,默认情况下,用户在 Ubuntu 上postgres没有设置 数据库密码。 这意味着,您只能使用postgres
操作系统用户 帐户登录该帐户。

假设您可以root访问该框,您可以执行以下操作:

sudo -u postgres psql

如果失败并出现database "postgres" does not exists错误,那么您很可能不在 Ubuntu 或 Debian 服务器上
:-) 在这种情况下,只需添加template1到命令中:

sudo -u postgres psql template1

如果这些命令中的任何一个因错误而失败,psql: FATAL: password authentication failed for user "postgres"则检查文件/etc/postgresql/8.4/main/pg_hba.conf:必须有这样的行作为第一个非注释行:

local   all         postgres                          ident

对于较新版本的 PostgreSQL,ident实际上可能是peer. 那也没关系。

psqlshell 中,您可以给 DB 用户 postgres一个密码:

ALTER USER postgres PASSWORD 'newPassword';

您可以通过键入或使用命令离开psqlshell 。Ctrl``D``\q

现在您应该能够为 pgAdmin 提供 DB 超级用户的有效密码,它也会很高兴。:-)

2022-03-08