PostgreSQL 写代码,你真的用对了索引吗?
PostgreSQL 写代码,你真的用对了索引吗?
我见过太多项目跑着跑着就慢成狗,一查原因——索引建错了类型,或者根本没建索引。数据库调优这事,说难也难,说简单也简单,关键是得有份靠谱的「答案」在手边。
今天聊一个最近在 GitHub 上悄悄火起来的 Skill:postgres-patterns。这个 Skill 来自 ECC(The agent harness performance optimization system)仓库——对,就是那个 242K ⭐ 的超大型 AI 代码增强工具箱。
它到底解决什么问题?
简单说:把你从 PostgreSQL 的各种坑里捞出来。
它不是一个空泛的「最佳实践」列表,而是直接给出什么场景用什么索引、什么字段选什么数据类型、慢查询怎么查、RLS 怎么配才安全的对照表。
举个例子——很多人以为所有查询都用 B-tree 就行,但这个 Skill 会告诉你:
- JSONB 模糊查询 → 用 GIN 索引
- 时间序列范围查询 → 用 BRIN 索引
- 复合条件查询 → 复合索引列顺序有讲究,等值列在前,范围列在后
核心能力一览
- 索引速查表:WHERE 条件 → 对应索引类型,扫码即得
- 数据类型选择指南:ID 用 bigint 不用 int、金额用 numeric 不用 float,细节决定性能
- RLS 安全写法:踩过坑才知道,
USING ((SELECT auth.uid()) = user_id)这种双层 SELECT 是保命写法 - 慢查询诊断 SQL:直接复制粘贴跑
pg_stat_statements,找出谁在拖后腿 - UPSERT / 分页 / 队列:实战中常用的 SQL 模式,直接给标准答案
适合谁用?
如果你:
- 在后端日常写 PostgreSQL 代码
- 项目里用了 Supabase 或任何 Postgres 衍生服务
- 发现线上数据库越来越慢,又不想瞎调
——装上这个 Skill,遇到数据库相关的问题时 Claude 会自动调用它,给你精准的调优建议而不是泛泛而谈。
怎么安装?
ECC 仓库支持多平台,postgres-patterns 是其中一个独立 Skill:
在 Claude Code 里直接:
npx skills add https://github.com/affaan-m/ecc --skill postgres-patterns
也可以手动把 SKILL.md 文件保存到 ~/.claude/skills/postgres-patterns/ 下。
GitHub 仓库本身 242K 星星,覆盖的不只是 Postgres——还有 MySQL、Redis、ClickHouse、Prisma 的各种模式,存着当工具箱很值。
写在最后
数据库调优这事,很多人靠搜索引擎临时查,但查到的答案往往是错的或者过时的。这个 Skill 相当于把 Supabase 等头部团队踩坑后沉淀下来的经验固化成了一份随时可查的 cheat sheet。
不是银弹,但确实是减少低级数据库错误、提升代码质量的好帮手。推荐开发者们收藏备用。
GitHub:https://github.com/affaan-m/ecc
GitHub: https://github.com/affaan-m/ecc
评论区
登录后可评论。