我已经安装了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"

推荐答案

如果我没记错的话,默认情况下,用户postgres在Ubuntu上没有设置DB密码.这意味着,你只能使用postgresOS 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

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

psqlshell 内,你可以给DB user postgres一个密码:

ALTER USER postgres PASSWORD 'newPassword';

您可以通过键入CtrlD或使用命令\q离开psql shell.

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

Postgresql相关问答推荐

Postgs SQL用于比较两个表之间的数据并填充到目标中

在Haskell中定义新类型与持久化类型的惯用方法

Org.postgresql.util.PSQLException:错误:函数LOWER(BYTEA)不存在

Pogresql性能中的枚举与文本数据类型

如何在Postgres中对分区表使用Hibernate验证?

自左联接的POSTGIS更新

在 Postgres 中,部分索引比普通索引需要更多的时间和成本来执行

至少 pgRouting 的某些部分可以与并行查询并行运行吗?

PostgreSql maintenance_work_mem 在索引创建期间增加

在 PostgreSQL 中提高 GROUP BY ... HAVING COUNT(...) > 1 的性能

PostgreSQL - 继承表的常见自动增量

PostgreSQL 中基于时间戳的移动平均线

运算符不存在:integer = integer[] 在使用 ANY 的查询中

PostgreSQL:根据排序顺序仅 Select 每个 id 的第一条记录

PostgreSQL ,从 2 个表中 Select ,但仅从表 2 中 Select 最新的元素

'active' 标志与否?

没有查询要创建的in ... error

postgresql 分组和内部连接

错误:must be owner of language plpgsql

Postgres 外键on update和on delete选项如何工作?