postgresql-table-design 用来设计或检查 PostgreSQL 表结构,帮助开发者选择字段类型、约束和索引。把业务实体、它们的关系与常用查询交给它,可以据这些实际用途整理建表方案,而不是给所有字段一律加索引。
例如订单金额需要准确的小数,可以使用 NUMERIC;订单关联用户时,用外键约束让关联指向存在的记录。外键和索引却是两件事:PostgreSQL 不会因为有外键就自动给关联列建索引,查询需要时要另行安排。
它还会检查哪些字段必须有值、哪些值应该唯一,以及删除关联数据时怎么处理。原文提醒,普通唯一约束允许多个空值,检查条件遇到空值也可能通过,业务规则不能只靠看起来正确的字段名字表达。
使用前需要明确 PostgreSQL 版本,部分约束语法有版本要求。大量数据、分区和线上改表另有深入资料,应按实际负载继续核实;本 Skill 的用途是把设计决策写清楚,不是保证采用某种类型后所有查询都快。