Agent Skills
返回列表
🔒

pgBadger PostgreSQL 日志事件与调优报告

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/turn-postgresql-logs-into-incident-and-tuning-reports-with-pgbadger。

技能介绍

解决什么问题

事故复盘时,postgres.log 往往只有时间戳和一行行重复的错误堆栈,靠 grep 和肉眼翻日志很难快速回答三个问题:哪条 SQL 最慢、错误集中在哪个时间点、连接数或锁等待是不是被某个会话拖垮。这个技能把原始日志交给 pgBadger,产出带图表的 HTML 报告,把「日志」变成可以定位问题的证据。

它是如何工作的

  • 前置条件:环境里已装好 pgBadger,日志采集的格式与上游要求兼容,有可用的 shell 环境用于生成报告。
  • 日志接入方式:输入可以是单个日志文件、一组文件,也可以直接传一条 shell 命令,由工具自行拉取数据。
  • 配置要求:需要在 postgresql.conf 中开启并设置部分日志相关指令,否则日志字段不足以支撑报告统计。
  • 输出结果:生成包含详细报告与图表的结果,覆盖慢查询分布、错误事件与负载热点,便于事故后做归因和参数调优。

适用边界与注意点

  • 它分析的是已经落盘的日志,不提供实时监控或告警能力,也无法读取未开启的日志字段。
  • 增量输出需要可写的输出目录,报告按月份组织,跨月日志通常需要分别处理。
  • 日志格式若不匹配(例如自定义了 log_line_prefix),报告里的查询指纹和用户信息可能失效。
  • 参数调整前建议结合 pg_stat_statements 等运行时视图交叉验证,避免只凭一份历史报告做结论。

参考文档:https://pgbadger.darold.net/

使用场景

  • 故障复盘时,需要把当天所有 PostgreSQL 日志跑成图表,回答哪条 SQL 最慢以及错误集中在几点。
  • 线上出现大量锁等待或连接耗尽,需要从历史日志中定位高峰时段和关联查询,而不是凭经验猜。
  • 季度调优评审前,需要汇总慢查询分布、等待事件和负载热点,作为参数调整的依据。
  • 迁移或升级后怀疑性能回退,需要对比两段时期的日志,查看慢查询和错误数量是否显著变化。

适合人员

  • 负责生产库的 DBA,需要在事故后拿出可核查的日志证据来定位慢查询和错误时间点。
  • 后端工程师,遇到接口超时或数据库变慢,想从日志中确认是哪些 SQL 或等待事件造成的。
  • 运维/SRE,需要在发布或扩容后复盘 PostgreSQL 日志,验证改动是否引起性能回归。
  • 数据库架构师,在调优阶段需要用可视化报告说明负载分布,并给出参数调整的依据。