连不上远程数据库八成是网络或服务端配置问题,需先验证服务器监听(ss -tlnp | grep :5432)、pg_hba.conf规则、防火墙及云安全组,再检查DBeaver驱动版本、JDK IPv6兼容性(加-Djava.net.preferIPv4Stack=true)和SSL配置是否匹配服务端要求。

连不上远程数据库,八成不是 DBeaver 的问题,而是网络路径或服务端配置没对齐。直接改 DBeaver 设置往往白忙活,得先确认“它能不能被访问”,再考虑“怎么连上它”。
ping 和 telnet 能通,不代表数据库服务在监听
很多人只做 ping 或 telnet host 5432 成功就以为万事大吉,但 PostgreSQL 可能根本没在那个 IP 上监听,或者只绑定了 127.0.0.1。真正要验证的是服务是否在目标地址+端口上接受连接:
- 在数据库服务器上执行:
sudo ss -tlnp | grep :5432(或netstat -tlnp | grep :5432),看Local Address:Port列是不是*:5432或具体外网 IP,而不是127.0.0.1:5432 - 检查
postgresql.conf中的listen_addresses是否包含'0.0.0.0'或对应网卡 IP,不能只留'localhost' - 检查
pg_hba.conf是否有匹配的行,例如:host all all 0.0.0.0/0 md5(注意网段和认证方式) - 改完配置必须重启服务:
sudo systemctl restart postgresql
防火墙、云平台安全组、NAT 网关三道关卡
本地 telnet 不通,不等于服务器没开;telnet 通了,也不等于数据库允许你连。中间可能卡在:
- 服务器系统防火墙:CentOS 7+ 用
firewall-cmd --list-ports看5432/tcp是否放行;Ubuntu 用sudo ufw status - 云厂商安全组(阿里云/腾讯云/AWS):必须显式添加入方向规则,协议选 TCP,端口填
5432,源 IP 填你的客户端公网 IP 或0.0.0.0/0(测试用) - 如果走的是跳板机或 NAT 网关,得确认端口映射是否生效,比如
iptables -t nat -L -n查 DNAT 规则
DBeaver 报 “Connection timed out” 时优先检查驱动和 JVM
这个错误表面是网络超时,但实际常由底层协议栈或驱动版本引发,尤其在高版本 JDK 下:
- 确认 DBeaver 使用的 JDBC 驱动版本与 PostgreSQL 大版本兼容:PostgreSQL 15+ 推荐用
42.6.x或更高;旧驱动(如42.2.x)连新库会静默超时 - 检查 DBeaver 启动用的 JDK 版本:菜单栏 → 帮助 → 关于 → 安装详情,看
JVM行。JDK 17/21 默认启用 IPv6,而某些 PostgreSQL 部署未正确响应 IPv6 连接请求 - 强制走 IPv4:编辑
dbeaver.ini,在-vmargs下一行加:-Djava.net.preferIPv4Stack=true(注意等号前后无空格) - 驱动下载失败时,手动下载 JAR 包后,在连接编辑页 → 驱动设置 → 编辑驱动 → 用户库 → 添加 JAR
SSL 配置错位导致“Authentication failed”或空连接
很多远程库(尤其是云托管 PostgreSQL)强制要求 SSL,但 DBeaver 默认不启用,结果表现是“测试连接成功”,却看不到任何数据库或表——因为认证阶段被服务端拒绝了:
- 在连接编辑页 → SSL 选项卡,勾选
Use SSL;若服务端用自签名证书,还需勾选Trust server certificate - 更稳妥的方式是传参数:在连接属性 → 驱动属性里,加键值对:
ssl=true和sslmode=require - 某些环境(如 AWS RDS)还要求提供根证书,此时需下载
global-bundle.pem,并在驱动属性中指定sslrootcert=/path/to/global-bundle.pem - 不加 SSL 却连强制 SSL 的库,日志里常出现
FATAL: no pg_hba.conf entry for host—— 实际是 SSL 握手失败后被拒,不是权限问题
最容易被忽略的点:pg_hba.conf 的规则顺序是自上而下匹配的,哪怕你加了一条允许远程的规则,只要上面有一条 local all all reject 或更宽泛的 host all all 127.0.0.1/32 reject,就会直接拦截,连日志都不留。改完务必 SELECT pg_reload_conf(); 或重启服务生效。


















