首页00月度趋势榜01新星榜02增速榜03HF热榜04总表05搜索06

pgrundev/pgbot

面向 AI Agent 与应用开发者的 PostgreSQL 数据库可观测性工具:单个静态二进制以只读角色连库、读取 Postgres 自带统计视图,输出"发现优先"的健康报告与版本化 JSON 契约。其一,切中了 AI Agent 操作数据库的真实痛点——Agent 需要"结构化、可推理"的数据库诊断结果而非一堆原始监控图表;其二,零部署负担:无采集器、无时序库、无常驻服务,一条 curl 安装即可用;其三,把"只读安全"做成了硬承诺,可信度远超一般脚本;

语言
Go
⭐ 总星标
745
📅 创建
2026-08-11
🍴 Forks
34
许可证
NOASSERTION
在 GitHub 打开 回到总表

配图

信息卡

项目内容
仓库pgrundev/pgbot
语言 / 许可证Go / Apache-2.0
总星标⭐ 745(截至 2026-08-26)
创建时间2026-08-11
榜单近30天新星榜 第31名

一句话定位

面向 AI Agent 与应用开发者的 PostgreSQL 数据库可观测性工具:单个静态二进制以只读角色连库、读取 Postgres 自带统计视图,输出"发现优先"的健康报告与版本化 JSON 契约。

走红原因分析

其一,切中了 AI Agent 操作数据库的真实痛点——Agent 需要"结构化、可推理"的数据库诊断结果而非一堆原始监控图表;其二,零部署负担:无采集器、无时序库、无常驻服务,一条 curl 安装即可用;其三,把"只读安全"做成了硬承诺,可信度远超一般脚本;其四,工程质量显著高于同期新星:CI 徽章、cosign 签名发布、JSON Schema 版本化管理,对专业 DBA 与平台团队都有说服力。

核心功能拆解

7. `--json` 为版本化契约(现 1.2.0),另支持 SARIF/JUnit/Prometheus 输出;`--fail-on` 提供可直接作为 CI 门禁的退出码契约。

架构与技术栈浅析

Go 编写的单静态二进制。核心设计是"只读由角色保证,而非靠开关":要求登录角色持有 `pg_monitor` 且无写权限,会话级再钉死 `default_transaction_read_only`、15 秒语句超时并逐条包在 `BEGIN READ ONLY` 中作纵深防御。所有发现均在 Go 内由 SQL 计算得出,AI 只解释不生成,保证结果确定性。运行开销极小:连接池上限 4、无长事务、数秒完成。

安装与环境要求

支持 PostgreSQL 14–18(16+ 全支持);需要持有 `pg_monitor` 的只读登录角色;`queries` 部分建议有 pg_stat_statements 扩展,`advise` 需 hypopg。安装方式覆盖 npx、官方脚本(cosign 签名校验)、Homebrew、go install、Docker 及 Release 手动下载,Linux/macOS/Windows 双架构齐备。

快速上手示例

curl -fsSL https://pgbot.dev/install | sh
pgbot inspect "postgres://pgbot_ro@host:5432/db"
pgbot ask "what's wrong?"

连接也可经 `$DATABASE_URL` 环境变量注入,避免密码进 shell 历史。

进阶使用要点

用 `pgbot init` 生成只读角色 SQL 后人工审查执行;CI 场景配 `lint --profile=schema --no-store` 与 `--fail-on=critical` 做门禁;迁移 PR 用 `--fail-on-new base.json` 只对新出现发现报警;阈值与忽略规则写 `.pgbot.toml`;注意人类可读报告不是稳定接口,Agent 应解析 `--json`。

典型应用场景

同类生态位对比

README 明确自比 pganalyze、Percona PMM、pgwatch:三者是"要运营的监控平台",长于仪表盘、告警与长期保留;pgbot 是"你随手运行的即时诊断",不替代它们,胜在零部署、确定性输出和 Agent 友好。

资源导航

仓库 README 含 Quickstart、Setup、Commands、CI 集成、MCP、JSON 契约、Troubleshooting 各节;提供商适配说明见 docs/providers.md;JSON Schema 在 schema/ 目录;官网 https://pgbot.dev ;发行物在 GitHub Releases 并提供 cosign bundle 校验。

← 上一篇patchy631/time-to-first-token下一篇 →fromleda/text-humanizer