技能说明
适用于 PostgreSQL 新表设计、上线前数据库评审、查询性能检查和线上 schema 演进规划。边界:主要针对 PostgreSQL,不会直接执行线上 DDL;版本差异、真实查询计划和生产风险仍需人工核验。
关于此技能
面向 PostgreSQL 的表结构设计与评审,覆盖数据类型、主外键、约束、索引、分区、JSONB 和在线变更等关键决策。
核心能力
类型与约束选择
从主键、外键、唯一、检查约束和 NULL 语义出发,选择适合 PostgreSQL 的数据类型与一致性规则。
索引与查询性能
按真实访问路径设计 B-tree、复合、部分、表达式、GIN、GiST 和 BRIN 索引,并识别外键未自动建索引等陷阱。
大表与演进规划
根据数据规模和访问模式判断是否分区,覆盖 JSONB、扩展、MVCC 以及尽量减少停机的 schema 变更思路。
适用场景
新建 PostgreSQL 表
在写 DDL 前确定主键、字段类型、默认值、约束、外键索引和时间字段。
上线前数据库评审
检查冗余、空值语义、查询路径、索引覆盖、分区条件和 PostgreSQL 版本差异。
线上表结构演进
为大表分区、JSONB 查询、扩展启用和不停机迁移整理风险、顺序与验证点。
使用步骤
- 01
第一步:明确业务与访问模式
列出实体关系、读写比例、过滤排序字段、数据规模、增长速度和可接受的变更窗口。
- 02
第二步:确定类型与约束
优先选择语义正确的数据类型,补齐主键、外键、唯一、检查约束和必要的默认值。
- 03
第三步:按真实查询复核
只为实际访问路径建索引,评估分区和 JSONB 策略,并在上线前安排 explain、回滚和版本检查。
常见问题
它适用于 MySQL 或其他数据库吗?+
主要适用于 PostgreSQL。其他数据库只能借鉴一般建模思路,类型、约束、索引和分区行为不能直接照搬。
它会直接修改线上数据库吗?+
不会。它提供设计、评审和变更规划,不会替你执行 DDL;线上操作仍需备份、灰度、回滚和人工审批。
什么时候应该做表分区?+
不能只看表大不大。应同时确认查询持续按分区键过滤,且分区能帮助维护或裁剪扫描;还要考虑唯一约束、外键和版本限制。
安装前检查
把兼容性、来源和安装入口先看清楚,再放进自己的工作流。
Codex · Claude Code · Cursor
已提供来源链接
命令可直接复制
2026/09/04
安装提醒:即使有清晰的来源和安装方式,也建议先阅读 SKILL.md,确认它会访问哪些文件和服务。
npx skills add wshobson/agents --skill postgresql-table-design -a claude-code -g