用途:面向 Supabase 生产应用的数据库管理技能,聚焦 Schema 设计、行级安全(RLS)策略、迁移与性能优化,并处理 Auth 集成相关配置。
主要能力:
- RLS:为用户表启用 RLS(ALTER TABLE your_table ENABLE ROW LEVEL SECURITY;),编写公开读/认证写、仅所有者访问、基于角色的策略;建议为 auth.uid() 相关列建索引以提升性能,并用子查询形式 (SELECT auth.uid()) 避免逐行解析 JWT。
- 迁移:按 supabase/migrations/ 目录与编号命名组织文件,提供含 BEGIN/COMMIT 的迁移模板,以及加列默认值、安全添加 NOT NULL、CREATE INDEX CONCURRENTLY 等安全模式。
- Auth 集成:通过 SECURITY DEFINER 函数与 auth.users 上的触发器在注册时自动创建 profile;在策略中使用 auth.role()、auth.uid()、auth.jwt()。
- 常见 Schema 模式:uuid 主键与 gen_random_uuid()、created_at/updated_at 时间戳与自动更新触发器、软删除、全文检索(tsvector 与 GIN 索引)。
- RLS 调试:查询 pg_tables 与 pg_policies 检查启用状态与策略,用 SET ROLE、SET request.jwt.claims 模拟角色与用户排查空结果问题。
适用场景:Supabase 数据库架构设计、RLS 策略编写与排错、迁移管理、查询与索引性能调优、Auth 触发器集成。
限制:不适用于 Supabase Auth UI 配置、Edge Functions(建议使用 cloudflare-worker-dev 技能)、无 Supabase 上下文的通用 PostgreSQL、客户端 Supabase SDK 用法。资料未提供安装命令、收费与平台信息。