无法使用 DBeaver 连接到本地 postgresql DB

ava*_*ros 13 postgresql jdbc 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
Run Code Online (Sandbox Code Playgroud)

pg_ident.conf 文件不包含任何配置:

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

# MAPNAME       SYSTEM-USERNAME         PG-USERNAME
Run Code Online (Sandbox Code Playgroud)

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

数据库列表

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

错误

我还尝试将用户设置为 postgres 并使用我的系统密码,但得到相同的错误。我缺少什么?

小智 7

当您使用 JDBC 时,您必须使用密码身份验证。ident两者都不会peer为此起作用。

您需要添加,例如:

host    all             all             127.0.0.1/32           md5
Run Code Online (Sandbox Code Playgroud)

在 pb_hba.conf 的顶部

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