如何通过DBeaver查看PostgreSQL外部应用执行的SQL查询?
监控PostgreSQL应用执行的SQL查询:DBeaver及其他工具推荐
一、用DBeaver查看应用执行的SQL
可以通过配置PostgreSQL日志,再在DBeaver中查看日志的方式实现:
- 修改PostgreSQL配置文件
postgresql.conf:- 设置
log_statement = 'all'(可选值:none/ddl/mod/all,all会记录所有SQL语句) - 设置
log_min_duration_statement = 0(记录所有执行语句,若设为正数则只记录执行时长超过该毫秒数的语句) - 重启PostgreSQL服务使配置生效
- 设置
- 在DBeaver中查看日志:
- 连接目标PostgreSQL数据库后,右键点击连接名选择「属性」
- 切换到「日志」标签页,勾选「显示数据库日志」,即可查看包括应用端执行的所有SQL语句
二、其他PostgreSQL活动监控工具
- pg_stat_statements(官方扩展):
- 先在
postgresql.conf中添加shared_preload_libraries = 'pg_stat_statements',重启服务 - 执行
CREATE EXTENSION pg_stat_statements;启用扩展 - 通过查询
SELECT query, calls, total_time, rows FROM pg_stat_statements;获取所有执行过的SQL、调用次数、总耗时、返回行数等统计信息
- 先在
- pgBadger:
- 一款轻量的日志分析工具,能将PostgreSQL的原始日志转换成结构化的HTML报表,直观展示慢查询、高频SQL、错误统计等信息
- pgHero:
- 基于Web的可视化监控工具,提供SQL执行统计、慢查询追踪、数据库健康指标(连接数、缓存命中率等)的可视化面板
- Prometheus + Grafana:
- 适合长期监控场景,通过PostgreSQL Exporter采集数据库指标,在Grafana中搭建自定义监控面板,实时追踪SQL执行情况、数据库负载、资源使用率等
内容的提问来源于stack exchange,提问作者KarolC
相关产品推荐
相关产品推荐

