You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无法用DBeaver连接PostgreSQL Docker容器问题求助

问题诊断与解决步骤

核心问题:端口映射配置错误

你当前的Docker Compose端口映射'5434:5434'是错误的——Docker容器内的PostgreSQL默认监听5432端口,而非5434。你把宿主机的5434端口映射到了容器内不存在的5434端口,导致DBeaver无法建立连接,触发EOFException(因为没有服务在容器的5434端口响应)。

修正步骤

1. 调整Docker Compose端口映射

修改ports配置,将宿主机的5434端口映射到容器的默认5432端口,这样既不会和本地Postgres的5432端口冲突,又能正确访问容器内的数据库:

ports:
  - '5434:5432'

修改后,重启容器:

docker-compose down && docker-compose up -d

2. 修正DBeaver连接配置

  • 主机:保持localhost
  • 端口:填写5434
  • 数据库名称:mydatabase(确保容器内确实创建了这个库)
  • JDBC URL格式保持jdbc:postgresql://localhost:5434/mydatabase即可,修正端口映射后再测试连接

额外排查点(如果修正后仍有问题)

  • 确认容器状态:执行docker-compose ps,确保Postgres容器处于Up状态
  • 检查容器内数据库可用性:进入容器执行psql -U your_username -d mydatabase,确认数据库可正常访问
  • 验证宿主机端口监听:执行netstat -an | grep 5434(Linux/macOS)或netstat -ano | findstr 5434(Windows),确认5434端口已被Docker监听
  • 数据库权限设置:确保容器内的Postgres用户(默认是postgres)允许从宿主机连接,可在容器内修改pg_hba.conf,添加一行:
    host    all             all             0.0.0.0/0               scram-sha-256
    
    然后重启容器内的Postgres服务:pg_ctl restart
  • DBeaver驱动兼容性:虽然版本匹配,仍可尝试在DBeaver中重新下载对应版本的驱动(右键连接→编辑连接→驱动→下载/更新)

内容的提问来源于stack exchange,提问作者Ray Koziel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 08:37:37