PG AIGuide PostgreSQL 代码生成
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,在你的 AI 助手中安装 @user_3c6cb52e/ground-postgresql-code-generation-in-exact-docs-and-best-practice-skills-through-pg-aiguide。
技能介绍
为什么需要这个技能
让通用模型直接写 PostgreSQL,经常得到能跑但不够专业的代码:该用 citext 还是 varchar 没想清楚,JSONB 上的 GIN 索引建错位置,排他约束(EXCLUDE)代替不了触发器却没人提。模型训练语料里 SQL 大量偏向 MySQL 或 SQLite,PostgreSQL 独有的表达式索引、部分索引、表分区、GENERATED 列、RETURNING 等能力要么被忽略,要么用得生硬。结果是 schema 缺约束、索引策略随意,上线后才发现锁竞争和计划回退。
技能如何工作
它的思路不是「再训一个模型」,而是在代码生成前插一层 PostgreSQL 专属的参考检索:
- 语义文档搜索:通过
pg-aiguide文档服务器按语义检索目标能力对应的精确文档,而不是整篇塞进上下文。 - 精选最佳实践:内置 schema 设计、索引策略、约束选择的整理版指南,覆盖
B-tree/GIN/BRIN的取舍、复合索引列序、部分索引条件等。 - 生成前对齐:先检索再生成,让 agent 在动手写 DDL 之前拿到权威片段。
- 可对比验证:同一个任务可以在启用与不启用该参考层的情况下各跑一遍,差异本身就能看出缺了哪些 PostgreSQL 特有考虑。
适用边界与注意点
- 运行环境需支持 MCP,或支持
npx skills形式的技能加载;公共文档服务器访问是可选的,会影响首次检索效果。 - 它提供的是参考层而非审批器:检索结果要自己判断时效与适用范围,官方文档更新后缓存片段可能滞后。
- 适合关系型、事务型建模场景;对 Postgres 之外的数据库无意义。
- 复杂迁移、分区表重组、扩展(如
pg_partman、PostGIS)仍需结合具体版本和扩展文档复核。
使用场景
- 从模糊需求生成电商库 schema,先查语义文档再决定字段和约束类型
- 设计查询性能时,依据指南选择 B-tree、GIN 或部分索引并确认列序
- 审阅 agent 产出的 DDL,对照精选最佳实践补上缺失的排他或检查约束
- 迁移或分区改造前,用检索结果确认分区键与表达式索引的写法
适合人员
- 后端工程师,需要让 AI 生成的表结构符合 PostgreSQL 习惯而不是 MySQL 思路
- 数据库管理员,希望索引与约束决策有可追溯的官方文档依据
- 技术负责人,要评估 AI 产出 schema 的风险并留下审查对比记录
- 数据平台工程师,负责把语义检索接入内部编码代理的数据库任务