运维养龙虾--用 AI Agent + SKILL,让 PostgreSQL 巡检效率提升 100 倍
摘要:本文介绍如何借助专为 AI Agent 设计的 PostgreSQL 巡检 SKILL,把原本耗时费力的数据库健康检查变成一句话的事——覆盖 40+ 检查项,自动生成带建议的 Markdown 报告,让 DBA 把时间留给真正有价值的工作。
一、背景:DBA 的日常巡检之痛
作为 DBA 或运维工程师,你是否每天都在重复做这些事?
- 早上上班第一件事,挨个登录数十台甚至上百台数据库,手动跑 SQL 检查锁等待、长事务;
- 写了一堆 Shell 脚本,但输出杂乱,难以判断严重程度;
- 月底要出巡检报告,需要从各种监控面板截图、拼报告,加班到深夜……
这些痛点本质上都是重复性高、工具分散、难以标准化。随着数据库实例规模越来越大,人力已经跟不上了。
而现在,AI Agent 时代来了。
二、什么是 SKILL?
SKILL 是为 AI Agent 设计的结构化能力包,可以理解为给 AI 配备了专业领域的"武器库"。
当你把 SKILL 加载进 AI Agent 后,只需用自然语言下达指令,AI 就能自动调用 SKILL 中定义的工具、脚本或查询逻辑,完成复杂的专业任务。
digoal(德哥)开源了一套专门用于 PostgreSQL 的 SKILL 集合:
🔗 GitHub 项目地址:https://github.com/digoal/postgres_skill/
这套 SKILL 目前包含三个模块:
| 模块名 | 用途 |
|---|---|
postgres-daily-check |
PostgreSQL 实例全面日常巡检 |
polardb-daily-check |
PolarDB 实例日常巡检 |
postgresql-bi-agent |
基于 PG 实例的业务数据经营分析 |
三、postgres-daily-check:40+ 项全面健康扫描
postgres-daily-check 是这套 SKILL 的核心模块,覆盖了 PostgreSQL 日常运维中最关键的检查维度:
1. 核心健康与可用性
- ✅ 无效索引检查(
pg_index中indisvalid = false的索引) - ✅ XID 回卷风险(距离 wraparound 的剩余 XID 数量)
- ✅ 长时间 VACUUM 检查
2. 连接与会话监控
- 连接数使用率(当前连接 /
max_connections) - 空闲事务(idle in transaction)超时连接
- 长查询(超过阈值的慢 SQL)
3. 性能与缓存
- 缓存命中率(Buffer Cache Hit Ratio)
- 共享内存脏块比例
- 索引使用率(全表扫描占比异常的表)
4. 存储与膨胀
- 表膨胀(dead tuple 比例过高的表)
- 索引膨胀
- 大表 / 大索引排名
- TOAST 表使用情况
5. 复制与高可用
- 流复制延迟(
pg_stat_replication) - WAL 日志积压量
- Slot 堆积风险
6. 安全与配置
- 超级用户数量
- 密码有效期检查
- 异常配置参数核查
每项检查都会给出 ✅ 正常 / 🟠 警告 / 🔴 严重 三级评级,并附上问题描述和优化建议。
四、一句话触发巡检,报告自动生成
使用方式极其简单,只需向支持 SKILL 的 AI Agent(如 WorkBuddy、Cursor 等)发送:
全面巡检 postgresql 数据库, 连接: host 127.0.0.1 port 5432 user digoal dbname postgres password 123456
AI Agent 会自动:
- 解析你的连接参数;
- 依次调用 SKILL 中定义的 40+ 个检查逻辑(通过
psql执行 SQL); - 汇总结果,生成结构化 Markdown 巡检报告。
整个过程无需额外安装任何 Python 第三方库,只依赖 Python 标准库 + psql 客户端。
五、真实巡检报告长什么样?
下面是一份简化版的巡检报告示例:
看到这份报告,DBA 可以立即知道哪里有问题、有多严重、该怎么处理,省去了大量手工 SQL 和分析时间。
六、更进一步:支持单项检查
除了全量巡检,SKILL 还支持针对某一项的单独检查。比如:
检查一下数据库 127.0.0.1:5432 上是否有表膨胀问题
查看当前所有长查询,超过 5 分钟的
帮我看看复制延迟情况
AI Agent 会根据你的问题,精准调用对应的检查逻辑并返回结果,而不是每次都跑全量检查——既节省时间,也减少数据库压力。
七、如何上手?
Step 1:克隆项目
git clone https://github.com/digoal/postgres_skill.git
Step 2:将 SKILL 加载进 AI Agent
以 WorkBuddy 为例,将 postgres-daily-check 目录放到 WorkBuddy 的 SKILL 目录下,重新加载即可。
Step 3:发起巡检
全面巡检 postgresql 数据库, 连接: host <your-host> port <port> user <user> dbname <db> password <pwd>
环境要求
- Python 3.x(标准库即可,无需 pip 安装额外包)
psql客户端(与目标 PG 版本兼容即可)
八、实战案例:
1.告诉codebuddy你要安装这个skill。
下载https://github.com/digoal/postgres_skill,并安装
截图如下:

正常会在mac上自动安装postgresql 16的客户端,如下手动按照,参考如下:

2.已成功安装的技能:
-
postgres-daily-check - PostgreSQL 实例日常巡检技能
- 位置:
/Users/monkey/Downloads/codebuddy/.codebuddy/skills/postgres-daily-check/ - 功能: 全面的 PostgreSQL 数据库健康检查
- 位置:
-
polardb-daily-check - PolarDB 实例日常巡检技能
- 位置:
/Users/monkey/Downloads/codebuddy/.codebuddy/skills/polardb-daily-check/ - 功能: PolarDB 数据库的全面健康检查
- 位置:
-
postgresql-bi-agent - PostgreSQL 实例业务数据经营分析技能
- 位置:
/Users/monkey/Downloads/codebuddy/.codebuddy/skills/postgresql-bi-agent/ - 功能: 业务数据分析和经营分析
- 位置:
3.安装详情:
- ✅ 从 GitHub 下载了
digoal/postgres_skill仓库 - ✅ 将三个技能安装到 CodeBuddy 技能目录
- ✅ 为每个技能创建了元数据文件 (
_meta.json) - ✅ 确保所有脚本文件具有可执行权限
- ✅ 创建了使用指南文档
4.使用方式:
现在你可以使用这些技能来检查和管理 PostgreSQL 数据库。例如:
全面巡检 postgresql 数据库, 连接: host 127.0.0.1 port 5432 user username dbname database password password
5.配置说明:
每个技能都包含 assets/db_config.env 文件,你需要根据你的 PostgreSQL 数据库连接信息进行配置。
原始下载的文件仍然保留在 /Users/monkey/Downloads/codebuddy/skills/postgres_skill/ 目录中,如果需要可以随时清理。

九、思考:AI Agent 对 DBA 职业的影响
这套工具让我们不得不思考一个问题:AI Agent + SKILL 会取代 DBA 吗?
我的观点是:不会取代,但会重塑 DBA 的工作方式。
重复性、规则性的巡检工作,完全可以交给 AI Agent。它不会累、不会漏检、不会因为下班早就少跑几个检查项。
而 DBA 真正的价值在于:
- 架构决策:分库分表怎么做?读写分离如何设计?
- 性能调优:复杂执行计划的解读与优化;
- 业务洞察:结合业务背景判断数据库问题的根因;
- 应急处理:真正的故障出现时,那 5 分钟内的判断与操作。
AI 负责"扫描",人负责"思考"——这才是正确的协作模式。
十、总结
postgres_skill 是一个非常实用的开源项目,它把 PostgreSQL 运维经验结构化成了 AI 可以直接调用的 SKILL,让数据库巡检从"手工活"变成了"一句话的事"。
对于:
- 管理大量 PG 实例的 DBA:可以大幅节省巡检时间;
- 业务开发同学:可以自助发现数据库层面的性能问题;
- AI 开发者:可以作为如何设计数据库类 SKILL 的参考案例。
强烈推荐收藏试用,并结合自己的业务场景进行二次定制。
如果你也在使用类似的 AI Agent + SKILL 方案,欢迎在评论区交流你的实践经验!
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐

所有评论(0)