我正在尝试连接到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时尝试执行什么,我总是得到错误:
我还尝试将User设置为postgres并使用我的系统密码,但出现相同的错误。我想念什么?
使用JDBC时,必须使用密码验证。 ident
和peer
均不适用于该功能。
您将需要添加,例如:
host all all 127.0.0.1/32 md5
在您的pb_hba.conf顶部
((如果使用md5
,请替换为scram-sha-256
)
如果不想输入密码,请将ident
更改为trust
,如果想输入密码,则将更改为md5
。
然后重新加载PostgreSQL服务器。