DBeaver 26.1.2 这次更新不算“重做一遍工作台”,但很贴近日常数据库操作:AI 助手新增聊天能力,可以帮助生成 SQL 查询并回答问题;Data Editor 的 Find/Replace 界面更新;查找框还多了一个快速筛选入口,可以把不匹配的行直接隐藏起来。对经常在表格数据、SQL 编辑器和结果集之间来回切换的人来说,这些都是省鼠标、少走神的改动。
AI 助手从“补一句 SQL”变成“能对话”
这次最显眼的变化是 AI 助手新增 AI Chat。它的价值不只是“帮我写一条 SELECT”,更适合处理那些带上下文的问题:
- 根据表结构生成查询;
- 解释一段已有 SQL;
- 把业务口径翻译成过滤条件;
- 帮你检查 JOIN、聚合、日期条件是否合理。
不过,AI 生成 SQL 的边界也要说清楚:它不知道你公司真实的数据含义,除非你把表结构、字段说明、样例口径说清楚。生产库上尤其不能直接执行生成结果,至少要先 EXPLAIN,再限制返回行数,必要时走只读账号。
可以这样向 AI Chat 提问,而不是只丢一句“写 SQL”:
我在 PostgreSQL 中有两张表:
orders(id, customer_id, status, total_amount, created_at)
customers(id, email, country, created_at)
请生成一条 SQL:
1. 统计 2024 年每个月每个国家的已完成订单金额
2. 只包含 status = 'paid' 的订单
3. 输出字段:month, country, revenue, order_count
4. 按 month 升序、revenue 降序排序
5. SQL 需要兼容 PostgreSQL
拿到结果后,不要急着跑全表。可以先用下面这种方式验证执行计划和样本结果:
EXPLAIN
SELECT
date_trunc('month', o.created_at) AS month,
c.country,
SUM(o.total_amount) AS revenue,
COUNT(*) AS order_count
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.status = 'paid'
AND o.created_at >= DATE '2024-01-01'
AND o.created_at < DATE '2025-01-01'
GROUP BY 1, 2
ORDER BY month ASC, revenue DESC;
SELECT
date_trunc('month', o.created_at) AS month,
c.country,
SUM(o.total_amount) AS revenue,
COUNT(*) AS order_count
FROM orders o
JOIN customers c ON c.id = o.customer_id
WHERE o.status = 'paid'
AND o.created_at >= DATE '2024-01-01'
AND o.created_at < DATE '2025-01-01'
GROUP BY 1, 2
ORDER BY month ASC, revenue DESC
LIMIT 50;
需要改的地方主要是表名、字段名、时间范围和状态枚举。AI 可以加速起草,但最终责任仍在执行 SQL 的人手里。
Find/Replace 更像一个高频工具,而不是临时弹窗
Data Editor 的 Find/Replace 功能界面更新,说明 DBeaver 团队在继续打磨结果集编辑体验。很多数据库工具的查找功能只服务于“定位一个值”,但在真实排查里,查找经常是连续动作:找一个订单号、看相邻字段、替换某个测试值、再过滤一批异常行。
新的快速筛选尤其适合这种场景:在 Find 字段输入值后,通过专用图标隐藏不匹配的行。它和 SQL WHERE 的区别在于:
- SQL 过滤发生在数据库端,适合大数据量和可复现查询;
- Data Editor 快速筛选发生在当前查看上下文里,适合临时排查和人工核对;
- 快速筛选不会替代严肃的数据分析 SQL,但能减少你在结果集中滚动查找的时间。
比如你已经打开了一张订单表,想快速查看所有包含 refund 的行,可以先在 Data Editor 的 Find 输入 refund,再点击隐藏不匹配行的图标。这个动作更像表格里的“临时视图”,适合短时间检查。
可以这样实践:用 SQL 先缩小范围,再用 Data Editor 快速筛选
对于大表,不建议把全部数据拉到 DBeaver 里再靠 Find 处理。更稳的做法是:先用 SQL 把结果集缩到可读范围,再用 Data Editor 的查找和快速筛选做人眼检查。
下面是一个可以直接改造的 PostgreSQL 示例,用于排查最近 7 天内金额异常或状态异常的订单:
SELECT
id,
customer_id,
status,
total_amount,
created_at
FROM orders
WHERE created_at >= now() - interval '7 days'
AND (
total_amount <= 0
OR status NOT IN ('pending', 'paid', 'refunded', 'cancelled')
)
ORDER BY created_at DESC
LIMIT 500;
在 DBeaver 中可以按这个流程使用:
- 在 SQL Editor 执行上面的查询,把
orders、字段名和状态枚举改成你的实际模型。 - 在结果集 Data Editor 中打开
Find。 - 输入你关心的值,例如
refunded、某个customer_id或异常状态。 - 使用快速筛选图标隐藏不匹配行。
- 如果筛选条件值得沉淀,再把它改写回 SQL 的
WHERE条件中。
这个流程的关键是分工:数据库负责缩小数据规模,DBeaver 的界面负责快速浏览和核对。这样不会把 GUI 当成数据仓库,也不会为了临时排查写一堆一次性 SQL。
升级时值得检查的几个点
DBeaver 26.1.2 的变化对多数开发者和 DBA 都是渐进式增强,升级风险通常来自插件、驱动、连接配置和团队使用习惯,而不是功能本身。落地时可以检查这几件事:
- 如果启用 AI 助手,确认团队对数据外发、提示词内容和生产库访问有明确规则;
- 对生产连接使用只读账号,避免 AI 生成的修改语句被误执行;
- 升级后验证常用数据库驱动、SSH 隧道、SSL 配置和保存的连接;
- 让高频使用 Data Editor 的同事试一下新的 Find/Replace 和快速筛选,确认操作习惯是否需要调整;
- 对关键查询继续保留 SQL 文件或版本记录,不要只依赖聊天历史。
这版更新的方向很明确:让数据库工具更贴近“边问、边查、边验证”的工作流。AI Chat 负责降低 SQL 起草和解释成本,Data Editor 的查找筛选负责减少结果集里的机械定位。用得稳的前提也同样明确:AI 给建议,人做审查;界面帮排查,SQL 留证据。