You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

查找PostgreSQL与DBeaver中类似SQL Server Profiler的功能

可用方案参考

方案1:DBeaver内置查询日志(最适合抓取DBeaver GUI操作生成的SQL)

如果你是要查看DBeaver自身操作(包括界面点击触发的各类查询)发往数据库的语句,直接用自带的日志功能即可,和你之前用Profiler抓SSMS操作的体验基本一致:

  • 点击顶部菜单栏 窗口 → 首选项
  • 左侧导航找到 连接 分类下的 SQL查询日志
  • 勾选 启用查询日志,可按需选择是否记录参数、执行耗时,仅看语句的话保留基础配置即可
  • 确认配置后打开DBeaver的 查询日志 视图,所有DBeaver发起的SQL都会实时展示在这里,无需修改数据库侧配置

方案2:PostgreSQL原生实时查询能力(适合查看全数据库所有客户端的运行语句)

如果要查看所有连接到PostgreSQL的客户端的实时运行查询,直接查询系统视图pg_stat_activity即可,满足你不需要性能分析的需求:

SELECT 
  pid, 
  query, 
  state, 
  now() - query_start AS run_duration 
FROM pg_stat_activity 
WHERE state = 'active' 
  -- 排除当前查询自身
  AND query NOT ILIKE '%pg_stat_activity%';

你可以在DBeaver中打开该结果页的自动刷新(右键结果页→自动刷新,最低可设1秒间隔)实现实时查看的效果。

如果需要捕获执行速度很快、手动刷新看不到的短查询,可以临时开启数据库全量日志:

-- 开启所有语句日志,无需重启数据库
ALTER SYSTEM SET log_statement = 'all';
ALTER SYSTEM SET log_min_duration_statement = 0;
SELECT pg_reload_conf();

所有语句会写入PostgreSQL的日志文件,使用完记得恢复默认配置避免占用过多磁盘:

-- 恢复默认配置
ALTER SYSTEM RESET log_statement;
ALTER SYSTEM RESET log_min_duration_statement;
SELECT pg_reload_conf();

内容的提问来源于stack exchange,提问作者user2210516

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:57:00