使用 DBeaver 连接远程 PostgreSQL 数据库完整指南

6 阅读7分钟

前言

在开发「管理项目(示例)」的过程中,我选择了 PostgreSQL + Docker 作为后端数据库方案。为了提升开发效率,我需要一个强大的跨平台数据库管理工具——最终选择了 DBeaver Community:它免费开源、原生支持中文、完美兼容SSH隧道,能满足本地可视化操作远程数据库的需求。

本文将手把手教你从零配置 DBeaver,实现安全的远程数据库连接,所有步骤均经过实际验证。


一、环境准备

开始前请确认已完成以下前置条件:

  1. 远程服务器:已安装 Docker,并运行 PostgreSQL 容器 ◦ 容器名:postgres(默认,若自定义需对应调整)

    ◦ 数据库名:your_app_db(你的项目数据库名,示例可自定义)

    ◦ 超级用户:db_superuser(对应Docker部署时的POSTGRES_USER配置)

  2. SSH 访问权限:拥有服务器的 SSH 登录权限(系统用户名 + 密码/私钥)

  3. 本地环境:Windows 10/11 系统(macOS/Linux 操作逻辑基本一致)


二、DBeaver 安装步骤

1. 下载安装包

访问 DBeaver 官方下载页(国内访问如遇缓慢可使用开源镜像站): 🔗 dbeaver.io/download/ 选择 Windows (installer) 下的 Community Edition(社区版,免费) 下载。

💡 提示:社区版功能完全满足个人开发和中小团队使用,无需购买 Pro 版。

2. 执行安装

双击下载的 .exe 文件,跟随向导操作,关键步骤注意事项: • 选择语言:推荐直接选择「中文(简体)」,对中文用户友好

• 选择组件:务必勾选 DBeaver Community 和 Include Java(Java 运行时是 DBeaver 运行的必要依赖,不可取消)

• 安装路径:建议安装在非系统盘(如 D:\DBeaver),且路径中不要包含中文、空格或特殊符号,避免驱动加载异常

安装完成后启动 DBeaver,首次打开会提示选择工作空间,直接默认点击「确定」即可。


三、配置数据库连接(核心步骤)

通过 SSH 隧道实现本地到远程数据库的安全连接,无需将数据库端口暴露到公网。

1. 新建连接

打开 DBeaver,点击顶部菜单栏 「数据库」 → 「新建数据库连接」,或使用快捷键 Ctrl + N。 在弹出的数据源选择窗口中,搜索并选择 PostgreSQL,点击 下一步。

2. 主连接设置(Main)

填写数据库核心连接信息,注意所有占位符需替换为你的实际值:

设置项填写值说明
主机localhost固定值:通过 SSH 隧道映射后,远程数据库相当于运行在本地 5432 端口
端口5432PostgreSQL 默认端口,若 Docker 映射到其他本地端口需对应修改
数据库your_app_db你的项目对应的 PostgreSQL 数据库名,与 Docker 部署时的POSTGRES_DB一致
用户名db_superuser数据库超级用户名,与 Docker 部署时的POSTGRES_USER一致
密码YourStrongPassword123!数据库用户密码,与 Docker 部署时的POSTGRES_PASSWORD一致,建议替换为12位以上包含大小写、数字、特殊符号的强密码
保存密码勾选避免每次连接重复输入密码

⚠️ 此时不要点击「测试连接」,SSH 隧道未配置的情况下测试会直接失败,先进入下一步。

3. SSH 隧道配置(SSH Tunnel)

点击窗口上方的 「SSH」 选项卡,这是实现安全连接的核心:

  1. 勾选 「使用 SSH 隧道」
  2. 点击右侧 「编辑配置文件」(铅笔图标)→ 「创建」,给 SSH 配置起一个易识别的名称(如 my-cloud-server),点击「确定」
  3. 填写服务器 SSH 信息:
设置项填写值说明
主机/IPyour_server_public_ip你的云服务器公网 IP 地址
端口22SSH 默认端口,若服务器修改过 SSH 端口需对应调整
用户名your_server_ssh_user你的服务器系统登录用户,常见的有 ubuntucentosec2-user
认证方法二选一推荐 Public Key(公钥) 方式,比密码认证更安全
↳ 密码认证选择「Password」,填写服务器 SSH 登录密码适合快速测试
↳ 密钥认证选择「Public Key」,点击文件夹图标选择你的 .pem 私钥文件,如有密钥密码短语需填写生产环境强烈推荐
  1. 点击 「测试隧道配置」,若弹出「隧道连接成功」提示,说明 SSH 部分配置正确
  2. 点击「确定」保存 SSH 配置,回到主连接窗口。

4. 测试连接

回到 「主」 选项卡,现在点击 「测试连接」: • 首次连接会弹出「下载 PostgreSQL 驱动文件」的提示,点击 「下载」 等待完成即可(国内用户若下载缓慢,可在驱动设置中将 Maven 仓库替换为阿里云镜像:https://maven.aliyun.com/repository/central

• 若弹出 「已连接」 绿色提示,说明整个连接配置成功。

点击 「完成」 保存数据库连接,左侧导航栏会出现你刚创建的连接项。


四、DBeaver 基本使用

连接成功后,即可通过可视化界面操作数据库,核心区域说明: • 数据库导航器(左侧):展示所有数据库连接、数据库、表、视图等结构

• SQL 编辑器(中间):编写和执行 SQL 脚本的区域

• 结果面板(下方):展示 SQL 执行结果、数据预览、日志等

常用操作示例

1. 查看表数据

在左侧导航器中展开连接 → your_app_db → 模式 → public → 表,双击任意表名,下方结果面板会直接展示该表的所有数据,支持直接在网格中编辑、新增、删除数据,修改后点击「保存」(Ctrl+S)即可提交。

2. 执行 SQL 脚本

右键点击数据库连接 → 「SQL 编辑器」 → 「新建 SQL 脚本」,在编辑器中输入 SQL 语句,例如查询示例表数据:

-- 查询示例创意表的所有数据(表名需替换为你的实际表名)
SELECT * FROM idea;

点击工具栏上的 「执行 SQL 语句」 按钮(或快捷键 Ctrl+Enter),结果会展示在下方面板中。

3. 查看表结构/ER 图

• 右键点击表名 → 「查看表」,可查看表的字段结构、索引、外键等信息

• 右键点击 public 模式 → 「查看 ER 图」,可图形化展示表与表之间的关联关系,适合梳理数据库设计。


五、常见问题与解决方案 (Troubleshooting)

问题可能原因解决方案
测试隧道连接超时服务器 IP 错误 / SSH 端口未放行检查服务器公网 IP 是否正确,确认云服务器安全组和防火墙已放行 22 端口
SSH 认证失败用户名/私钥/密码错误确认 SSH 用户名是否正确,私钥文件是否匹配服务器,密码是否输入正确
数据库连接失败(隧道正常)数据库用户/密码错误确认数据库用户名、密码与 Docker 部署时的POSTGRES_USER/POSTGRES_PASSWORD一致
驱动下载卡住/失败网络问题将 Maven 仓库替换为阿里云镜像,或手动下载 JDBC 驱动后导入
看不到自己的表连接到了错误的数据库确认主连接配置中的「数据库」项是你的项目库your_app_db,而非默认的postgres

六、安全提示(发布前必看)

  1. 本文所有 your_xxx 格式的占位符必须替换为你的实际值后才能使用,不要直接使用示例值(尤其是示例密码)
  2. 生产环境中不要使用超级用户连接应用,建议创建仅拥有必要权限的专用数据库用户供应用使用,降低安全风险
  3. SSH 私钥文件属于敏感凭证,不要上传到公开仓库或博客附件中
  4. 博客发布前请二次检查,确保没有遗漏任何真实敏感信息(服务器IP、密码、私钥路径等)

结语

通过 DBeaver 的 SSH 隧道功能,我们既实现了本地可视化操作远程数据库的效率提升,又避免了将数据库端口直接暴露到公网的安全风险,是开发阶段的理想方案。

如果你在配置过程中遇到其他问题,欢迎在评论区留言交流~


(本文档适配 DBeaver Community 23.x / 24.x 版本,操作逻辑在其他版本中基本一致)