SuperAPI AI 工具集

design-postgres-tables

数据与分析

查看项目

更新于 10-16 05:47

技能介绍

用途:辅助设计 PostgreSQL 表结构、schema 与数据模型,覆盖建表、约束、索引、分区与数据类型选择等通用设计决策。

主要能力与规则:推荐为引用表定义 PRIMARY KEY,优先用 BIGINT GENERATED ALWAYS AS IDENTITY,仅在需要全局唯一或不可猜测时用 UUID。主张先规范化到 3NF,仅在读取收益经测量且连接性能确有问题时才反规范化。要求语义需要处加 NOT NULL 并设 DEFAULT。为实际查询路径建索引:主键/唯一索引自动创建,外键列需手动建索引,常用过滤、排序与连接键也应建索引。类型上倾向 TIMESTAMPTZ 表示事件时间、NUMERIC 表示金额、TEXT 表示字符串、BIGINT 表示整数、DOUBLE PRECISION 表示浮点。避免使用 timestamp、char(n)/varchar(n)、money、timetz、serial 及内置几何类型,改用时间戳带时区、text、numeric、identity 与 PostGIS 几何类型。

注意事项:未加引号的标识符会被转为小写,建议统一 snake_case;UNIQUE 允许多个 NULL,PG15+ 可用 NULLS NOT DISTINCT 限制为一个;外键列不会自动建索引;超长会报错而非静默截断;序列/identity 存在间隙属正常;堆表默认无聚簇主键;更新删除产生死元组由 vacuum 处理。

其他主题:包含表类型(常规、TEMPORARY、UNLOGGED)、行级安全策略、各类约束(PK、FK、UNIQUE、CHECK、EXCLUDE)、索引类型(B-tree、组合、覆盖、部分、表达式、GIN、GiST、BRIN)、分区(RANGE、LIST、HASH)、重更新与重插入表、upsert、安全 schema 演进、生成列、常用扩展及 JSONB 使用建议。

限制:资料未提供安装方式、收费、价格或平台信息,暂未提供。