BAIZE AI RESOURCE

Supabase 维护的 Postgres 最佳实践 Agent Skill

Supabase-postgres-best-practices

Supabase 维护的 Postgres 最佳实践 Skill,帮助 Agent 改进 SQL、库表设计、连接管理和 RLS 安全。

Supabase-postgres-best-practices

资源介绍

supabase-postgres-best-practices 是 Supabase 官方 agent-skills 仓库中的一个 AI Skill,面向任何环境运行的 Postgres,而不限于 Supabase 托管实例。它以 SKILL.md 为入口,把数据库最佳实践拆成 8 个类别并按影响优先级排序:查询性能、连接管理、安全与 RLS 属于关键级,Schema 设计为高优先级,其后是并发与锁、数据访问模式、监控诊断和高级特性。每个规则以独立参考文件给出,包含问题说明、错误 SQL 示例、正确 SQL 示例,以及可选的 EXPLAIN 输出或指标。技能描述明确要求 Agent 在创建或修改表、列类型、迁移、RLS 策略、索引、触发器、数据库函数、队列与定时任务、向量检索以及数据导入恢复之前先加载它,也用于诊断慢查询、高 CPU、超时、连接耗尽、锁和租户数据越权等问题。适用用户是使用 Postgres 或 Supabase 的开发者,以及需要让 AI 生成可靠数据库代码的团队。

Skill 能力

按影响分级的规则体系

规则分为查询性能、连接管理、安全与 RLS、Schema 设计、并发与锁、数据访问模式、监控诊断、高级特性 8 类,并按关键到增量排序,便于优先处理高影响问题。

错误与正确 SQL 对照

每条规则提供错误 SQL 示例及原因、正确 SQL 示例及原因,部分附带 EXPLAIN 输出或性能指标,便于 Agent 直接参照改写。

覆盖 Schema、迁移与安全

除性能外还包含列类型选择、主键与外键索引、约束、分区、迁移安全模式、RLS 基础与性能、权限等规则。

面向 Agent 的触发式描述

技能描述列出建表、迁移、RLS、索引、队列、向量检索、数据恢复以及慢查询诊断等触发场景,便于 Agent 在相关任务前自动加载。

资源配置

适用平台

Claude CodeCodex通用 Agent

支持模型

模型无关

调用方式

自动触发手动调用

安装与调用

  1. 将仓库中的 `skills/supabase-postgres-best-practices` 放入兼容智能体技能规范的客户端技能目录;也可以在仓库发布页下载 `supabase-postgres-best-practices.tar.gz`,解压后使用其中的技能文件。

  2. 在编写或修改 Postgres 相关代码前加载该技能,包括建表改列、迁移、RLS 策略、索引、触发器、数据库函数、队列与定时任务、向量检索和数据导入恢复。

  3. 按问题阅读 `references` 目录中的规则文件,获取说明和数据库查询示例。例如,索引问题查阅 `query-missing-indexes.md`,连接池问题查阅 `conn-pooling.md`,行级安全问题查阅 `security-rls-basics.md`。

  4. 在诊断慢查询、高 CPU、超时、连接耗尽、锁或数据越权问题时,同样加载该技能并对照相关规则排查。

使用案例

设计新表结构

使用场景开发编程

在创建表或选择列类型前加载技能,参照 schema 类规则确定主键、外键索引、约束与数据类型,避免后续迁移和性能问题。

排查慢查询

使用场景数据分析

遇到查询缓慢或高 CPU 时,参照 query 与 monitor 类规则检查缺失索引、索引类型和 EXPLAIN 执行计划。

配置 RLS 策略

使用场景开发编程

编写行级安全策略及其验证测试时,参照 security 类规则处理权限、RLS 性能与租户数据隔离。

包含内容

LICENSE-MIT.txt
README-中文安装说明.md
SHA256.txt
supabase-postgres-best-practices-source.zip

常见问题

这个技能只适用于 Supabase 吗?
不是。技能描述说明它面向任何环境运行的 Postgres,只是由 Supabase 维护,并在部分规则中附带 Supabase 相关说明。
它只用于性能优化吗?
不是。技能描述明确指出 Schema、迁移、安全和 SQL 编写任务同样需要这些规则,即使只是改一列或写一条查询。
规则内容以什么形式组织?
技能入口为 `SKILL.md`,具体规则保存在 `references` 目录的独立文件中。文件名前缀分别对应查询、连接、安全、表结构、锁、数据访问、监控和高级功能,便于按问题查找。原前缀为 `query`、`conn`、`security`、`schema`、`lock`、`data`、`monitor`、`advanced`。
每条规则包含哪些内容?
包含问题说明、错误 SQL 示例及解释、正确 SQL 示例及解释,部分还包含 EXPLAIN 输出或指标、补充上下文与参考链接。