SuperAPI AI 工具集

Postgres-AIops

Postgres-AIops 是一个社区维护的开源项目,为 PostgreSQL 数据库管理员提供受治理的 AI 运维能力。它通过 psycopg 3 连接服务器,读取系统目录和 pg_stat_* 视图,并内置治理框架:统一审计日志、令牌/失控预算保护、撤销令牌记录和描述性风险等级标签。核心功能包括三大旗舰分析:慢查询根因分析(基于 pg_stat_statements 和可选 EXPLAIN 计划)、膨胀与 vacuum 分析、阻塞锁链根因分析;同时提供 CLI 和 MCP 服务器(35 个工具,25 读 10 写),支持加密凭据、可逆写入、dry-run 和双重确认。每个工具都声明风险等级并记录审计行,确保所有操作可追溯。项目采用 MIT 许可证,与 PostgreSQL 全球开发组无关联。

访问官网

工具介绍

Postgres-AIops 是 AIops-tools 家族中面向 PostgreSQL DBA 运维的成员,提供受治理的 AI 运维能力。它通过 psycopg 3 连接 PostgreSQL 服务器,读取系统目录和 pg_stat_* 视图,并内置治理框架,包括统一审计日志、令牌/失控预算保护、撤销令牌记录和描述性风险等级标签。项目为社区维护的开源项目,采用 MIT 许可证,与 PostgreSQL 全球开发组或任何供应商无关联,不隶属于、未获其背书或赞助。

用途方面,该工具针对 PostgreSQL DBA 的日常运维任务,提供三大旗舰签名分析以及围绕它们的受保护读写操作。慢查询根因分析会获取最差的 pg_stat_statements 条目(可选 EXPLAIN 计划),将其数值(平均时间、缓存命中率、临时溢出、调用次数、计划节点类型)映射到有引用的原因和具体操作,每个发现都携带测量数值,而非黑盒结论。膨胀与 vacuum 分析结合每表死元组比率和 autovacuum 最近执行时间,生成排序的、有引用的建议(VACUUM 或调整 autovacuum)。阻塞锁链根因分析从 pg_blocking_pids 构建等待树,识别根阻塞者(阻塞他人且不等待任何人)并给出操作建议;若形成循环则标记为可能的死锁。

主要能力包括 CLI(postgres-aiops ...)命令:init、overview、server、activity、query、index、table、repl、analyze、remediate、secret、doctor、mcp。MCP 服务器(postgres-aiops mcp 或 postgres-aiops-mcp)提供 35 个工具(25 个读、10 个写),每个工具都封装在自带的 @governed_tool 治理框架中。凭据加密:角色密码存储在加密存储 ~/.postgres-aiops/secrets.enc(Fernet + scrypt),磁盘上绝不出现明文。可通过 POSTGRES_AIOPS_MASTER_PASSWORD 环境变量(MCP/CI)或交互式提示(CLI)解锁。可逆性:变更写入会先获取真实的前置状态并记录忠实的逆操作——create_index 对应 drop_index;drop_index 捕获 pg_get_indexdef,因此撤销时可精确重建;update_setting 捕获先前值,撤销时恢复。不可逆操作(terminate_backend、cancel_query、run_vacuum、run_analyze、reindex、reset_query_stats)记录先前统计信息以供审计,但声明无撤销。安全性:每个状态变更 CLI 操作支持 --dry-run 并要求双重确认;每个写 MCP 工具接受 dry_run 预览。所有无法参数化的标识符(表/索引/GUC 名称)都经过验证和引用;所有值都绑定为查询参数。

使用方式上,可作为 CLI 或独立 MCP 服务器运行(stdio)。也可作为 Claude Code 插件安装,一次安装同时提供技能和 MCP 服务器;或作为 OpenClaw 插件,同一捆绑包发布在 ClawHub 上,一次安装同时交付技能及其 MCP 服务器,安装后需重启 OpenClaw 网关以加载插件。MCP 服务器通过 uv 获取并固定到插件声明的包版本,以便审计行可追溯到写入它的代码。凭据仍通过 postgres-aiops init 配置。在共享或长期主机上,建议使用交互式提示,或从秘密管理器注入,仅在该命令需要时使用。

治理框架方面,每个 MCP 工具都经过自带的 @governed_tool 框架:审计——每次调用(参数、结果、状态、持续时间、风险等级以及任何操作员提供的批准者/理由)都记录到 ~/.postgres-aiops/audit.db(可通过 POSTGRES_AIOPS_HOME 重定位),CLI 写入与 MCP 路径相同的审计行,不存在未审计的入口点。失控保护——安全后备而非授权门:同一调用在紧密循环中重复会触发断路器。可通过 POSTGRES_RUNAWAY_MAX=0 禁用;可选硬上限通过 POSTGRES_MAX_TOOL_CALLS / POSTGRES_MAX_TOOL_SECONDS。撤销记录——可逆写入根据获取的前置状态记录逆操作描述符。风险等级——从 risk_level 派生的审计行描述性标签,不进行任何门控。

工具决定什么、不决定什么:它准确高效地交付 PostgreSQL DBA 运维(读和写)并记录每一次操作,但不决定写入是否被允许。这是代理的判断,或连接账户的权限:使用没有写权限的 PostgreSQL 角色连接(只读角色,或没有 INSERT/UPDATE/DELETE/DDL 的角色),写入会在服务器端失败——实际拥有权限的地方。因此没有只读开关、策略文件或审批门可配置。唯一保证的是没有静默操作:每次调用,无论通过 MCP 还是 CLI,都会在 ~/.postgres-aiops/audit.db 中生成审计行,破坏性写入仍捕获前置状态并在存在逆操作时记录。每个工具声明 risk_level,作为描述性等级(none/confirm/review)带入审计行,使审查者一眼可见该行是高风险的删除操作。它是标签,不是门控。

适用场景为 PostgreSQL 数据库管理员的运维工作,包括慢查询分析、膨胀与 vacuum 管理、锁链分析、索引管理、复制延迟监控等。运行较小/本地模型时可参考 agent-guardrails.md,其中列出了工具现在强制执行的护栏以及剩余部分的现成系统提示。

限制方面:该项目是社区维护的开源项目,与 PostgreSQL 全球开发组无关联,不隶属于、未获其背书或赞助。不要用于 OT/工业边缘(Modbus、OPC-UA、PROFINET)——请参阅单独的 industrial-aiops 系列——也不用于应用模式迁移或 ORM 管理。top_queries / slow_query_rca 需要 pg_stat_statements 扩展;读角色应具有 pg_monitor 权限。覆盖范围故意是 PostgreSQL 目录和维护表面的精简子集,缺少视图、指标或维护命令可开 issue 或 PR。除了模拟测试套件外,读取、受治理写入及其撤销已在实时 PostgreSQL 16.14 实例上验证,详见 docs/VERIFICATION.md。运行 postgres-aiops doctor 是最快的实时检查方式。