SuperAPI AI 工具集

postgresql

数据与分析

查看项目

更新于 10-16 00:30

技能介绍

用途:为 PostgreSQL 设计专用表结构,覆盖最佳实践、数据类型、索引、约束、性能模式与高级特性。

主要能力:核心规则强调为引用表定义主键(优先 BIGINT GENERATED ALWAYS AS IDENTITY,仅在需要全局唯一或不透明 ID 时用 UUID),先规范化到 3NF,按语义加 NOT NULL 与 DEFAULT,为实际查询路径建索引(外键列需手动建索引)。数据类型建议:事件时间用 TIMESTAMPTZ、金额用 NUMERIC、字符串用 TEXT、整数用 BIGINT、浮点用 DOUBLE PRECISION;避免 timestamp、char(n)/varchar(n)、money、timetz、serial。还涵盖约束(PK、FK、UNIQUE NULLS NOT DISTINCT、CHECK、EXCLUDE)、索引(B-tree、复合、覆盖、部分、表达式、GIN、GiST、BRIN)、分区(RANGE/LIST/HASH)、行级安全、生成列、扩展(pgcrypto、pg_trgm、citext、timescaledb、postgis、pgvector、pgaudit)与 JSONB 使用建议。

使用方式:按文档规则编写 DDL,例如 CREATE TABLE users (...);CREATE UNIQUE INDEX ON users (LOWER(email));CREATE INDEX ON orders (user_id);JSONB 列用 CREATE INDEX ... USING GIN (attrs)。

适用场景:新库表结构设计、索引与分区规划、JSONB 建模、时间序列与高写入负载优化。

限制:部分特性有版本要求(如 NULLS NOT DISTINCT 需 PG15+,uuidv7() 需 PG18+);分区表不支持全局 UNIQUE 与外键;CREATE INDEX CONCURRENTLY 不能在事务中运行;资料未提供收费、平台与效果信息。