我已经安装了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一个有效的密码,这也会很高兴。:-)