DBeaver通过右键表或模式可快速生成ER图,依赖外键约束或手动配置虚拟外键;支持单表视图、模式级批量生成、SVG/PNG导出及中文字体适配。

直接右键表或模式就能生成,不需要写SQL、不依赖建模经验,但前提是数据库有外键约束或你手动补虚拟外键。
右键单张表快速出图:主外键关系一目了然
这是最常用也最快的入口。在左侧导航树中展开到目标表(比如 users),鼠标右键 → 选择 View Diagram。图立刻渲染出来:空心方块是主键字段,实心圆点是外键字段,连线方向就是引用方向(从外键指向被引用的主键)。
- 如果菜单里没有
View Diagram,说明当前连接类型不支持(如 Hive 未启用元数据采集、某些 SQLite 配置)、或该表没主键/外键定义 - 双击图中任意表名可跳转到其结构页;拖拽节点能调整布局,避免线条重叠
- 视图也能用这个方式查看,但若图中只有孤点无连线,大概率是视图用了子查询或 UNION,DBeaver 无法自动推导依赖
批量生成模式级ER图:控制表数量防卡死
想看清整个 public 或 sales 模式下几十张表怎么连,就别一张张点。在导航树中右键对应模式 → Database → Generate ERD。
- 弹窗里务必手动取消勾选日志表、临时表、历史快照表——DBeaver 解析外键关系是内存密集型操作,超过 30 张表就容易卡顿甚至崩溃
- 生成后右下角蓝色齿轮图标可设置:是否显示字段名、隐藏无关联的孤立表、调整字体大小
- 如果某张表没出现在图中,不是漏了,而是它没被任何外键引用,也没引用别人;可右键该表再单独
View Diagram确认
导出ER图:PNG/SVG二选一,注意字体嵌入问题
图生成后,点击右上角 Export 按钮(向下箭头图标),选格式、设路径即可保存。推荐优先选 SVG:缩放不失真,适合插入文档或演示;PNG 更通用,但放大后文字会模糊。
- 导出为 PNG 时,若中文字段名显示为方块,说明系统缺失对应字体——DBeaver 默认用系统字体渲染,Windows 可尝试安装“微软雅黑”,macOS 用“PingFang SC”
- SVG 导出后若在浏览器打开乱码,用文本编辑器打开 SVG 文件,确认
<?xml encoding="UTF-8"?>存在且声明正确 - 不要依赖“全屏截图”代替导出,那样分辨率低、无法矢量化、后续无法编辑
老旧库没外键?用虚拟外键补关系
很多生产库(尤其金融、医疗类)因历史原因没建物理外键,但字段命名有规律(如 order_id 总是关联 orders.id)。这时右键表 → Edit Virtual Foreign Keys,手动添加逻辑关联,DBeaver 就能在 ER 图里画出连线。
- 虚拟外键只存在 DBeaver 客户端,不影响数据库本身,也不产生性能开销
- 添加时需明确指定“本表字段”“引用表”“引用字段”,三者缺一不可;填错会导致图中出现断线或错误指向
- 虚拟外键一旦配置,下次打开同一连接时自动生效,但不会同步到其他机器或其他 DBeaver 实例
真正麻烦的不是生成图,而是图里那些“看起来有关联、实际靠业务代码硬编码”的关系——比如用字符串前缀匹配两张表,这种只能靠人工标注,DBeaver 再强也猜不出来。


















