无法使用 DBeaver 连接到本地 postgresql 数据库

Cannot connect to local postgresql DB using DBeaver

我正在尝试连接到 localhost:5432 中的 postgresql 数据库,但我一直收到错误消息: 严重:用户“”的身份验证失败。

我在虚拟机运行Centos7上安装了Postgres11。通过命令行创建了一个数据库,名称为 business_db.

我检查过,postgresql 在 localhost:5432 中是 运行。

我的pg_hba.conf文件是这样的:

# TYPE  DATABASE        USER            ADDRESS                 METHOD
local   all             all                                     peer
host    all             all             127.0.0.1/32           ident
host    all             all             ::1/128                 ident
local   replication     all                                     peer
host    replication     all             127.0.0.1/32            ident
host    replication     all             ::1/128                 ident

pg_ident.conf 文件没有任何配置:

# Put your actual configuration here
# ----------------------------------

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME

数据库存在,如命令所示:

我以 "dev" 用户身份登录系统,但是,无论我在测试与 DBeaver 的连接时尝试什么,我总是得到错误:

我也尝试将用户设置为 postgres 并使用我的系统密码,但得到了同样的错误。我错过了什么?

当您使用JDBC时,您必须使用密码验证。 identpeer 都不起作用。

您需要添加,例如:

host    all             all             127.0.0.1/32           md5

在您 pb_hba.conf

的顶部

(如果您正在使用 scram-sha-256,请将 md5 替换为 scram-sha-256

如果您不想输入密码,请将 ident 更改为 trust,如果您想输入密码,请更改为 md5

然后重新加载 PostgreSQL 服务器。

删除密码中的所有空格,这对我有用