SuperAPI AI 工具集

golang-gin-psql-dba

编程与开发

查看项目

更新于 10-15 22:12

技能介绍

用途:为 Go Gin API 做 PostgreSQL 架构决策,覆盖模式设计、迁移安全性、索引策略、查询优化、分区与扩展选型。ORM/驱动代码、应用层认证、部署不在范围内,分别参见 golang-gin-database、golang-gin-auth、golang-gin-deploy。

主要能力:设计新模式(表、类型、约束、命名);评估 ALTER TABLE 在线上库是否安全;按查询模式选择索引类型;解读 EXPLAIN ANALYZE 并修复慢查询;连接池容量与 autovacuum 调优;选择扩展(全文检索、向量、地理、时序);决定分区策略。

关键规则:主键用 UUID DEFAULT gen_random_uuid() 或 BIGINT GENERATED ALWAYS AS IDENTITY,不用 SERIAL;时间戳用 TIMESTAMPTZ DEFAULT now();布尔 NOT NULL DEFAULT false;金额用 NUMERIC(19,4);状态用 TEXT + CHECK 或 ENUM;命名 snake_case、表复数、列单数;外键必须带 ON DELETE。索引默认 B-tree,仅在 B-tree 无法服务时切换:GIN 用于全文检索、JSONB、数组,GiST 用于空间/范围,BRIN 用于大表单调列,GIN + pg_trgm 用于模糊匹配,HNSW/IVFFlat 用于 pgvector。扩展选型:ParadeDB(BM25)、pgvector、PostGIS、TimescaleDB、pg_cron、pg_partman、pg_trgm。

使用方式:迁移中始终设置 lock_timeout,避免阻塞全部流量;遇到问题按 Stop → Observe → Turn → Act,先跑 EXPLAIN ANALYZE、查 pg_stat_statements,再据证据修复;以证据验证而非断言。

限制:不处理 ORM/驱动代码、应用层认证与部署;具体安装命令、价格与平台支持资料未提供。