用途:该技能用于 PostgreSQL 专用表结构设计,在需要为 PostgreSQL 设计 schema、选择数据类型与约束、规划索引、分区或 RLS 策略、以及评审表的规模与可维护性时使用。不适用的场景:目标数据库不是 PostgreSQL,或只需查询调优而不改动表结构,此时应改用其它更合适的技能。
主要能力:工作流要求先明确实体、访问模式与规模目标(行数、QPS、保留策略),再选择能强制不变量的数据类型与约束,为真实查询路径添加索引并用 EXPLAIN 验证,按需规划分区或 RLS,最后评审迁移影响并安全应用变更。
关键规则与用法:参照表应定义主键,优先 BIGINT GENERATED ALWAYS AS IDENTITY,仅在需要全局唯一或不透明 ID 时用 UUID;先规范化到 3NF,仅在实测高收益读场景下反规范化;语义需要处加 NOT NULL 并设 DEFAULT;为实际查询的访问路径建索引(主键/唯一自动,外键列需手动加);时间用 TIMESTAMPTZ,金额用 NUMERIC,字符串用 TEXT,整数用 BIGINT。示例建表语句保留在原始技能中,包括 users、orders 与 JSONB profiles 等。
索引要点:B-tree 用于等值与范围;复合索引注意列顺序;覆盖索引用 INCLUDE;热子集用部分索引;计算键用表达式索引;GIN 用于 JSONB 与全文检索;GiST 用于范围与几何;BRIN 用于按序存储的大表。安全方面:生产环境避免无备份与回滚计划的有破坏性 DDL,变更应经迁移与预发验证。
限制:资料未提供价格、平台支持或具体效果数据;部分支持文件路径标记为 n/a。