DBeaver统一管理PostgreSQL与达梦:安装配置与实战指南
发布时间:2026/9/17 7:39:43 锦皓数字建站

老实说我电脑上装过的数据库管理工具攒了一大堆连MySQL要用Navicat看SQLite要用DB Browser跑PostgreSQL又得开pgAdmin到了国产的达梦DM还得再启动它自带的管理工具。每个库一个客户端界面不一样快捷键不一样导数的姿势也不一样来回切换真的能把人搞疯。后来我把主力工具换成了DBeaver这一个工具就把PostgreSQL、达梦、MySQL、SQLite全收了尤其是项目里同时要维护PostgreSQL和达梦这两套库时统一用一个客户端写SQL、看执行计划、导数据效率提升不止一点。这篇文章我就把从零安装DBeaver、连接PostgreSQL和达梦DM的完整过程写清楚包括版本怎么选、驱动怎么配、日常怎么建库导数据以及我实际用的时候踩过的坑。适合刚接触DBeaver的数据库运维、后端开发还有需要在PostgreSQL和国产数据库之间来回切换的同学参考。1. 为什么选DBeaver多数据库统一管理的思路1.1 PostgreSQL与达梦并存的现实场景现在不少项目都是新旧两套系统并行一边是已经跑了好几年的开源PostgreSQL存着核心业务数据另一边是新上的达梦DM数据库承接新的业务模块。两边数据还得经常对账、迁移、写报表SQL。这种场景下最大的麻烦不是SQL写不出来而是工具不统一。pgAdmin只连PostgreSQL看到达梦数据库只能干瞪眼达梦自带的管理工具连达梦很顺手但连不上PostgreSQL。如果同时开两个客户端表结构对比、数据核对都得手动来回切人多一点还会出现“这个数据到底是在哪个工具里查的”这种低级误会。DBeaver的解法特别直接它本身是一个通用的JDBC客户端只要数据库提供了JDBC驱动就能在一个界面里统一管理。PostgreSQL、达梦、MySQL、Oracle、SQLite、ClickHouse都行。这样带来的好处很实际快捷键统一、SQL编辑器统一、结果集导出逻辑统一DBA只要熟悉一次后面换库几乎零成本。1.2 JDBC驱动的统一约定让“一个工具通吃”成为可能理解DBeaver之前先理解JDBC是怎么回事。JDBC是Java访问数据库的标准接口几乎所有主流数据库都提供自己的JDBC驱动包比如PostgreSQL的驱动jar包类名是org.postgresql.Driver达梦的驱动类名是dm.jdbc.driver.DmDriver。工具只要能加载对应数据库的驱动jar包就能通过统一的JDBC API去执行SQL、读结果集。DBeaver把这个过程做成了图形界面你新建一个连接选数据库类型填主机、端口、用户名、密码如果本地缺驱动它还能自动下载。也就是说DBeaver本身并不“认识”某个数据库的私有协议它靠的是驱动。所以“DBeaver能不能连达梦”这个问题本质上是“你能不能拿到达梦的JDBC驱动并正确配置”。这一层想明白了后面很多问题就都能自己推断了连接失败先查驱动有没有加载对URL模板对不对端口通不通。工具本身只是一个壳核心是驱动和网络。2. 安装DBeaver版本选择、下载与初始配置2.1 社区版就够了下载渠道与版本判断DBeaver分为社区版Community Edition和企业版Ultimate社区版基于GPL协议完全免费日常连PostgreSQL、达梦、MySQL这些关系型数据库已经绰绰有余。企业版主要多了NoSQL数据库、云数据源的增强支持以及一些团队协作功能那是要付费授权的。我个人建议普通用户直接下载社区版没必要折腾其他版本。下载渠道认准官网dbeaver.io进入Download页面选择Community Edition再按操作系统下载对应版本。Windows有exe安装包和解压版推荐用exe安装版装完自动关联文件类型方便很多。这里要特别提醒一句不要从乱七八糟的第三方下载站下官网速度慢一点也就等一会儿。网上有些“绿色版”“破解版”的下载链接绕来绕去很危险一个不小心中了全家桶不说数据库连接凭据也可能被偷。正经工具就用正经渠道。2.2 Windows与国产Linux下的安装过程Windows下安装没什么可说的双击exe一路Next安装路径可以改到D盘避免系统盘越来越臃肿。安装类型默认就行注意在“选择组件”那一步把“创建桌面快捷方式”勾上省得装完了找不到图标。Linux自不用多说尤其是现在很多生产环境用的是麒麟V10、统信UOS这类国产系统DBeaver官方其实提供了rpm和deb包也提供通用的tar.gz压缩包。rpm系用sudo rpm -ivh dbeaver-xxx.rpmdeb系用sudo dpkg -i dbeaver-xxx.deb。也可以直接下tar.gz解压进目录执行./dbeaver启动适合那种不想改系统环境的场景。国产Linux下安装后有可能会遇到两个小问题一是字体太小二是中文乱码。字体问题后面单独说中文乱码通常是系统缺少中文字体装一个Noto Sans CJK或者文泉驿字体基本就解决了。还有一个技巧如果系统里的桌面环境找不到启动器图标可以在终端里直接输入dbeaver回车命令在的看一下报错信息再慢慢排查。2.3 装完先做这几件事字体、中文、驱动目录DBeaver安装完我建议先不要急着连库花两分钟把基础设置调好后面省心很多。第一件调字体。高分屏下DBeaver默认字体小得可怜菜单“窗口”-“首选项”-“用户界面”-“字体”把“文本字体”和“编辑器字体”都调大一号。我第一次装完没调在4K屏上差点把眼睛看瞎。第二件切中文。DBeaver默认跟随系统语言如果界面是英文而且你看着英文界面别扭可以在首选项里改语言重启或者在Windows的dbeaver.ini配置文件里加上-Duser.languagezh。Linux下呢改启动脚本里的JAVA_OPTS也行不过一般图形界面设置就够了。第三件记住驱动目录。DBeaver默认会把下载的JDBC驱动放在用户目录下的.dbeaver/jdbc目录里这个目录最好心里有数后面手动导入驱动时会用到。如果公司网络环境特殊连接时驱动下载失败就得手动把驱动的jar包塞到这个项目里。3. 连接PostgreSQL驱动、参数与常用操作3.1 先把PostgreSQL跑起来Windows安装与Docker两种方式要连PostgreSQL首先得有个PostgreSQL实例。Windows下单机开发最省事的办法是去官网postgresql.org下载Windows安装包安装过程中会让你设置超级用户postgres的密码和监听端口默认5432回车即可。安装结束后开始菜单里会有pgAdmin和SQL Shell但既然我们用了DBeaver这两个基本可以不用碰。如果你不想在Windows上装一堆服务用Docker跑一个PostgreSQL实例也很清爽。推荐一个可以直接抄的docker-compose配置version: 3.8 services: postgres: image: postgres:16 container_name: local-pg environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: testdb ports: - 5432:5432 volumes: - pg_data:/var/lib/postgresql/data volumes: pg_data:在docker-compose.yml所在目录执行docker-compose up -d几秒钟就能拉起一个干净的PostgreSQL服务。要注意的是如果你需要向量检索这类扩展比如pgvector直接用基础镜像装插件比较麻烦更快的办法是找带pgvector的现成镜像省去编译时间。这也是很多人最终还是选择Docker跑PostgreSQL的原因环境干净删了重建都方便。3.2 DBeaver新建连接的参数与驱动处理PostgreSQL跑起来之后打开DBeaver点击工具栏“新建数据库连接”在数据库列表里选PostgreSQL弹出来的连接窗口里填这几个参数配置项推荐值说明主机localhost远端填服务器IP或域名端口5432PostgreSQL默认监听端口数据库postgres可改成业务数据库名用户名postgres安装时创建的超级用户密码安装时设置建议勾选“保存密码”填完先点“测试连接”。如果本地还没下载PostgreSQL的JDBC驱动DBeaver会弹窗提示并自动下载。这一步在联网环境基本没障碍。如果公司内网下不动就得手动处理到PostgreSQL官网或Maven仓库下载postgresql-x.x.x.jar然后在“数据库”-“驱动管理器”里找到PostgreSQL把下载好的jar添加进“库”列表同时确认“驱动类”是org.postgresql.DriverURL模板是jdbc:postgresql://{host}:{port}/{database}。做完这一套测试连接基本就能过。默认情况下DBeaver可能会勾选SSL本地连接建议在连接设置里把SSL关掉不然有时候会莫名报SSL握手失败纯属自己给自己找麻烦。3.3 连接后的高频操作建库、执行SQL、导数据、搜表连接成功后左边导航树会显示数据库和一系列模式PostgreSQL默认有public模式。日常高频操作基本就四个。建库右键连接名选“新建数据库”填库名、字符集一般UTF8、排序规则确定即可。注意PostgreSQL的数据库名和表名在未加引号时会自动转成小写所以命名时统一用小写最省事否则查询就得写双引号很容易踩坑。执行SQL文件如果手里有一个.sql文件不要直接复制粘贴右键目标数据库选“工具”-“执行脚本”选文件执行执行日志能直接看到每条SQL成功还是失败比复制到编辑器里执行靠谱得多。导数据查询结果集出来之后右键结果集区域选“导出数据”支持导出为CSV、Excel、JSON等格式。导出大表的时候建议直接选导出文件而不是手动全选复制后者容易内存溢出。搜表库里的表多了之后靠滚动找表不现实。DBeaver导航树顶上有一个搜索框输入表名的关键字就能过滤这个功能我几乎是天天用。至于“DBeaver怎么创建数据库”这类问题答案就是右键右键右键DBeaver几乎所有操作都能靠右键菜单完成养成右键的习惯上手速度会快很多。4. 连接达梦DM数据库手动配置驱动的完整流程4.1 前置准备拿到DM的JDBC驱动jar包连接达梦比连接PostgreSQL多一个步骤因为DBeaver社区版默认不自带达梦驱动需要手动添加。而达梦驱动不是从网上下个jar就能拉到最正规的来源是达梦数据库的安装目录。在安装达梦DM8的机器上驱动一般在DM安装目录下的drivers/jdbc路径里常见文件名是DmJdbcDriver18.jar或者Dm8JdbcDriver18.jar对应JDK版本不同文件名会有些区别。如果你是开发机本地装了达梦直接在安装目录拷贝一份到DBeaver机器上就行如果只是远程连库找DBA要一份对应版本的驱动包是最稳妥的。另外提一句达梦官网也有驱动下载入口但通常需要登录和选版本直接让同事分享一个正在使用的驱动jar反而更快。判断驱动对不对就看里面有没有dm.jdbc.driver.DmDriver这个类这是达梦驱动的标准入口类名。4.2 在DBeaver驱动管理器里添加DM驱动拿到jar包后打开DBeaver点击菜单“数据库”-“驱动管理器”在驱动管理器窗口里点“新建”最关键的是这三项配置项填写内容说明驱动名称DM8显示用可自定义类名dm.jdbc.driver.DmDriver达梦JDBC标准驱动入口URL模板jdbc:dm://{host}:{port}/{database}新建连接自动带入默认端口5236达梦默认监听端口填好这三项后在“库”选项卡里点“添加文件”选择达梦的驱动jar包。添加完成后保存回到主界面点“新建数据库连接”数据库类型列表里就会出现刚才创建的DM8驱动。然后和连PostgreSQL一样填主机、端口5236、用户名达梦默认SYSDBA、密码测试连接。这里有个很坑的细节DBeaver版本太老的时候即使驱动配置正确连接达梦也可能出现“读取数据字典失败”或“Schema列表为空”的情况。我遇见过一次最后是升级到新版本DBeaver解决的。所以如果你发现驱动没问题但连接表现异常第一步先考虑升级DBeaver不要光盯着驱动反复折腾。4.3 DM连接后的模式schema与注意事项达梦在逻辑结构上和Oracle有点类似一个用户对应一个同名模式Schema。比如你用SYSDBA登录那默认看到的模式一般就是SYSDBA下的对象。在DBeaver左侧导航树里展开连接后要注意找“模式”节点展开模式才能看到表、视图、存储过程这些对象。熟悉PostgreSQL的同学刚用达梦时最容易犯的两个错误一个是大小写一个是分号。大小写方面达梦默认是大小写敏感的。如果你建表时用双引号包了“User”这种驼峰命名那查询时也必须带双引号写“select * from User”是不行的得写select * from User。所以建表时尽量全用小写省得后面写SQL天天跟引号搏斗。分号方面DBeaver默认自动提交事务但达梦有时候对未提交事务的处理很敏感。如果你执行一个INSERT后查不到数据先看是不是事务没提交。DBeaver在连接设置里可以勾选“自动提交”达梦连接建议务必勾上否则改完数据忘了提交再执行其他操作很容易触发锁表这个问题下一节详细说。5. 高频问题排查实录锁、驱动、字体与导入5.1 DM表锁住了怎么解锁“表被锁住了”是达梦使用中最常见的问题之一现象很直观执行UPDATE或者DELETE时一直卡住不动过一会儿报锁冲突或者“记录已被其他用户锁定”。常见原因是某个会话开了事务但没提交把表的行锁或表锁占住了。在DBeaver里排查锁的路径是这样的先用DBA权限比如SYSDBA执行查询查达梦的动态视图找锁会话。不同版本视图名不太一样常见的有V$LOCK或V$LOCKED_OBJECT通过它们能看到锁住资源的会话ID。确认是哪个会话后再通过系统的会话管理视图找到对应的会话然后执行结束会话的命令把它关掉。达梦里常见的关闭会话接口是SP_CLOSE_SESSION(会话ID)不同版本可能有差异生产环境执行前务必确认该会话确实是僵尸事务别把自己正在跑的业务的会话干掉。严格来说解锁属于数据库管理的操作日常开发中我的建议是先让同事自查是不是忘了提交大多数“锁表”都是人为造成的。等排除了事务未提交再考虑杀会话。另外DBeaver里也可以打开事务管理器查看当前连接的活动事务在窗口里直接回滚未提交事务简单场景比杀会话更安全。5.2 驱动下载失败与“看不到驱动”的解决办法不少同学第一次用DBeaver会卡在“测试连接”这一步报错信息千奇百怪但总结起来大概率是驱动没加载成功。DBeaver连接PostgreSQL时如果自动下载驱动失败会直接报找不到驱动类。解决办法只有一个核心思路手动把驱动jar包喂给DBeaver。去数据库官网或者Maven仓库把对应数据库的JDBC驱动下载下来然后在“数据库”-“驱动管理器”里找到对应的数据库类型比如PostgreSQL在“库”选项卡里添加jar文件同时确认“设置”选项卡里的“类名”填的是org.postgresql.Driver。保存后重新测试连接90%能解决。至于“看不到达梦驱动”的问题正常社区版默认就不带按第4节的流程自己建一个就行。还有个小经验DBeaver的驱动管理器里支持复制现有驱动改配置如果你手头有别人的DBeaver配置直接导出一份驱动包也可以省得自己慢慢翻jar。5.3 从Excel导入数据的几种路子热搜词里有个“dm管理工具怎么导入excel”我猜很多人是在达梦里导数据时卡住了。实际上这个场景在DBeaver里反而不复杂右键目标表选“导入数据”选择Excel文件按向导走指定工作表、字段映射、批量大小最后执行。DBeaver会把Excel每一行映射成表里的一行列名对不上时手动拖一下映射关系就行支持追加和清空重导两种方式。如果Excel数据特别大我不建议直接用导入向导DBeaver处理几万行的Excel还行几十万行会明显变慢。更稳的做法是先把Excel另存为CSV然后用DBeaver导入CSV文件速度会快很多而且CSV的编码、分隔符在向导里都能设置。达梦自带管理工具也能导入Excel但操作路径藏得比较深用DBeaver统一处理反而更顺手这也是我坚持用DBeaver的另一个原因。5.4 高分屏字体与大数据量操作的体验优化最后分享一个体验层面的细节。高分屏用户如果用Windows且缩放比例超过100%DBeaver默认字体会变得又小又模糊。除了系统里调整缩放DBeaver本身的字体设置也要配合改位置在“窗口”-“首选项”-“用户界面”-“字体”。我通常会把“文本字体”调到12或14SQL编辑器可读性会好很多。大数据量操作方面DBeaver默认会读取数据库对象信息来做智能提示表多了之后连接会卡。可以在首选项里关掉“连接时读取元数据”或调整元数据读取策略查询时用SQL编辑器手动写不要双击表名让工具自动生成全字段查询效率差别很明显。用顺手之后DBeaver是那种越用越顺的工具但前提是你把它的设置调成适合自己的状态。这个工具本身没有多高深难的是把细节配置到位后续使用才会从容。写到这里再说几句我个人这几年用下来的体会。刚开始我也嫌DBeaver界面复杂导航树、编辑器、结果集、输出栏一坨东西摆在眼前不如Navicat那种傻瓜式界面清爽。但用了一个月之后我发现它的复杂其实是有道理的连接管理、驱动管理、SQL编辑器、数据导出这些模块全部拆开出了任何问题都能定位到具体环节不像某些一体化工具有问题时只能瞎猜。多数据库统一管理这件事短期看只是省了几个客户端的安装长期看是省下了反复切换工具的心智成本。如果你也在PostgreSQL和达梦之间来回折腾相信我静下心把DBeaver用熟值得。最后再分享一个小习惯我会把常用的JDBC驱动jar包统一放到一个文件夹里备份这样换电脑、重装系统之后十分钟就能把DBeaver恢复成顺手的状态不用再全网找驱动。这算是我踩过多次坑之后沉淀下来的经验希望对你有用。
锦
锦皓数字建站
深耕本土企业品牌数字化升级,专注原创端正雅致商务官网,从视觉设计到稳定运维全程保驾护航。