我已经安装了PostgreSQL 8.4,Postgres Client和Pgadmin 3. Console Client和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"

答案

如果我没记错了用户postgres没有DB 默认情况下在Ubuntu上设置密码。这意味着,您只能使用该帐户登录该帐户postgres OS user帐户。

假设你有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

对于较新版本的PostgreSQLident实际上可能是peer。没关系。

在 - 的里面psql外壳你可以给DB user postgres密码:

ALTER USER postgres PASSWORD 'newPassword';

你可以离开psql通过打字Ctrld或使用命令\q

现在,您应该能够为DB Superuser提供PGADMIN一个有效的密码,这也会很高兴。:-)

来自: stackoverflow.com