mcpField
P
postgres-code-review

postgres-code-review

github.com/existential-birds测试与质量85151 次安装11 周前更新
代码仓库

关于 postgres-code-review

面向开发者的 PostgreSQL 代码审查技能,用于检查 SQL、数据库结构和连接处理。它结合专项清单、参考主题及审查结论的证据要求。

主要功能

  1. 01索引与查询审查清单
  2. 02JSONB 操作符和索引检查
  3. 03连接池与连接释放检查
  4. 04事务与锁审查
  5. 05结论的证据门槛

适用场景

  1. 01审查查询和数据库结构性能
  2. 02检查 JSONB 查询模式
  3. 03审计连接与连接池处理
  4. 04评估事务和注入风险

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/existential-birds/beagle --skill postgres-code-review

安装后在 Claude Code 中输入/postgres-code-review确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
connections.md
indexes.md
jsonb.md
transactions.md

详细介绍

PostgreSQL 代码审查

快速参考

问题类型参考文档
缺少索引、索引类型错误、查询性能references/indexes.md
JSONB 查询、运算符、GIN 索引references/jsonb.md
连接泄漏、连接池配置、超时references/connections.md
隔离级别、死锁、咨询锁references/transactions.md

审查清单

  • WHERE/JOIN 列有合适的索引
  • 复合索引符合查询模式(列顺序很重要)
  • 查询 JSONB 列时使用 GIN 索引
  • 使用合适的 JSONB 运算符(->、->>、@>、?)
  • 连接池配置了合适的限制
  • 连接得到正确释放(上下文管理器、try/finally)
  • 事务隔离级别适合具体使用场景
  • 没有长时间运行并持有锁的事务
  • 使用咨询锁进行应用级协调
  • 查询使用参数化语句(无 SQL 注入)

报告发现之前的检查关卡

按此顺序检查,确保结论有证据支撑(而非“我在脑中检查过了”):

  1. 范围 — 记录正在审查的 SQL、DDL/迁移和连接代码的具体路径(必要时附上行号范围或符号)。**通过标准:**你提出批评的每个子系统(查询、JSONB、连接池、事务)至少有一个引用路径。
  2. 性能问题的 SQL/DDL 引用 — 关于索引、顺序扫描、JSONB 运算符和执行计划的问题,必须指向确切的语句或架构(引用摘录或 file:line)。**通过标准:**每项此类发现都包含该引用。
  3. 标记注入风险前检查绑定方式 — 只有在确认 SQL 与值的组合方式(绑定参数还是字符串拼接/格式化/f 字符串)后,才能断言存在 SQL 注入风险。**通过标准:**对每个被标记的调用点,都说明你在代码中看到的组合机制。

接着从快速参考加载相关参考文档,并逐项检查审查清单。

何时加载参考文档

  • 审查带有 WHERE/JOIN 的 SELECT 查询 → indexes.md
  • 审查 JSONB 列或 JSON 操作 → jsonb.md
  • 审查数据库连接代码 → connections.md
  • 审查 BEGIN/COMMIT 或并发更新 → transactions.md

审查问题

  1. 此查询会使用索引还是执行顺序扫描?
  2. JSONB 操作是否使用了合适的运算符和索引?
  3. 数据库连接是否得到正确管理和释放?
  4. 此操作的事务隔离级别是否合适?
  5. 这是否可能导致死锁或长时间持锁?

评论

支持 Markdown