必须右键目标BLOB字段→选“Open in Editor”(非“Edit Value”),才能进入含Hex/Text/Image等模式的二进制查看器;误点“Edit Value”会报错“Cannot edit binary data in inline editor”。

结果集里 BLOB 字段显示为 [BLOB],怎么点开看内容?
默认双击字段不会弹出预览,必须右键 → “Open in Editor”(不是“Edit Value”),才能进入二进制查看模式。这个操作容易被忽略,因为界面上“Edit Value”更显眼,但它只适用于文本类字段,对 BLOB 会直接报错或无响应。
常见错误现象:Cannot edit binary data in inline editor 就是点了“Edit Value”导致的。
- 右键目标字段 → 选
Open in Editor - 新标签页中顶部有切换按钮:
Hex(十六进制)、Text(尝试解码为字符串)、Image(自动识别 PNG/JPG 等)、PDF、JSON等 - 如果
Text显示乱码,说明实际不是 UTF-8 编码,别硬切——先看Hex确认前几个字节(比如89 50 4E 47是 PNG,FF D8 FF是 JPG)
BYTEA(PostgreSQL)字段在 DBeaver 中显示为空或报错?
PostgreSQL 的 BYTEA 默认以转义字符串形式返回(如 \x48656C6C6F),DBeaver 有时无法自动识别并渲染为二进制视图,尤其当字段值较短或含非标准前缀时。
解决方法:强制让 JDBC 驱动以二进制协议传输该字段。
- 右键连接 →
Edit Connection→Driver Properties - 添加或修改属性:
binaryTransfer=true(对 PostgreSQL 42.2+ 有效) - 重启连接,再查一次,
BYTEA字段就可正常右键Open in Editor了 - 若仍不行,检查是否勾选了
Use native bytea format(在连接设置 →SQL Execution页)
大 BLOB 加载卡死或内存溢出?
DBeaver 默认会把整个二进制字段加载进内存再渲染,遇到几十 MB 以上的 BLOB 很容易假死或崩溃。
这不是 bug,是设计限制。关键要控制加载范围:
- 查询时用
SUBSTRING或数据库特有函数截取(如 MySQLLEFT(data, 10240),PostgreSQLSUBSTR(data, 1, 10240)) - 在 DBeaver 中,打开编辑器后,右上角有
Load range...按钮,可手动指定偏移和长度(单位:字节),避免全量加载 - 禁用自动预览:设置 →
Editors→Data Editor→ 取消勾选Auto-open binary editors
为什么有些二进制字段连 Open in Editor 都不出现?
根本原因是 DBeaver 根据 JDBC 元数据中的 getColumnTypeName() 判断字段类型。某些驱动(如旧版 Oracle JDBC)可能把 BLOB 报成 LONGVARBINARY 或 OTHER,DBeaver 就不识别为可预览的二进制类型。
临时绕过方式:
- 手动改 SQL 查询,用类型转换显式声明,例如:
CAST(my_col AS BLOB)(MySQL/PostgreSQL)或TO_BLOB(my_col)(Oracle) - 或者在结果集右键 →
Copy as → Hex String,粘贴到外部十六进制编辑器(如 HxD)分析 - 驱动升级是最彻底的解法,比如 Oracle 推荐用
ojdbc8.jar而非ojdbc6
getColumnTypeName 实际返回值,而不是调界面设置。


















