关于 postgres-code-review
面向开发者的 PostgreSQL 代码审查技能,用于检查 SQL、数据库结构和连接处理。它结合专项清单、参考主题及审查结论的证据要求。
主要功能
- 01索引与查询审查清单
- 02JSONB 操作符和索引检查
- 03连接池与连接释放检查
- 04事务与锁审查
- 05结论的证据门槛
适用场景
- 01审查查询和数据库结构性能
- 02检查 JSONB 查询模式
- 03审计连接与连接池处理
- 04评估事务和注入风险
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ existential-birds/ beagle --skill postgres-code-review安装后在 Claude Code 中输入/postgres-code-review确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/connections.mdindexes.mdjsonb.mdtransactions.md详细介绍
PostgreSQL 代码审查
快速参考
| 问题类型 | 参考文档 |
|---|---|
| 缺少索引、索引类型错误、查询性能 | references/indexes.md |
| JSONB 查询、运算符、GIN 索引 | references/jsonb.md |
| 连接泄漏、连接池配置、超时 | references/connections.md |
| 隔离级别、死锁、咨询锁 | references/transactions.md |
审查清单
- WHERE/JOIN 列有合适的索引
- 复合索引符合查询模式(列顺序很重要)
- 查询 JSONB 列时使用 GIN 索引
- 使用合适的 JSONB 运算符(
->、->>、@>、?) - 连接池配置了合适的限制
- 连接得到正确释放(上下文管理器、try/finally)
- 事务隔离级别适合具体使用场景
- 没有长时间运行并持有锁的事务
- 使用咨询锁进行应用级协调
- 查询使用参数化语句(无 SQL 注入)
报告发现之前的检查关卡
按此顺序检查,确保结论有证据支撑(而非“我在脑中检查过了”):
- 范围 — 记录正在审查的 SQL、DDL/迁移和连接代码的具体路径(必要时附上行号范围或符号)。**通过标准:**你提出批评的每个子系统(查询、JSONB、连接池、事务)至少有一个引用路径。
- 性能问题的 SQL/DDL 引用 — 关于索引、顺序扫描、JSONB 运算符和执行计划的问题,必须指向确切的语句或架构(引用摘录或
file:line)。**通过标准:**每项此类发现都包含该引用。 - 标记注入风险前检查绑定方式 — 只有在确认 SQL 与值的组合方式(绑定参数还是字符串拼接/格式化/f 字符串)后,才能断言存在 SQL 注入风险。**通过标准:**对每个被标记的调用点,都说明你在代码中看到的组合机制。
何时加载参考文档
- 审查带有 WHERE/JOIN 的 SELECT 查询 → indexes.md
- 审查 JSONB 列或 JSON 操作 → jsonb.md
- 审查数据库连接代码 → connections.md
- 审查 BEGIN/COMMIT 或并发更新 → transactions.md
审查问题
- 此查询会使用索引还是执行顺序扫描?
- JSONB 操作是否使用了合适的运算符和索引?
- 数据库连接是否得到正确管理和释放?
- 此操作的事务隔离级别是否合适?
- 这是否可能导致死锁或长时间持锁?
评论
支持 Markdown