SuperAPI AI 工具集

postgres-best-practices

数据与分析

查看项目

更新于 10-15 21:11

技能介绍

用途:面向 PostgreSQL/Supabase 环境,提供可扩展、安全、高性能的数据库架构与查询设计规范。主要能力:1)架构设计——建议满足第三范式以减少冗余,主键用 UUID(v7/v4)或 BIGINT 标识,横向扩展时避免简单自增 INT;表与列名用 snake_case、表名用复数;始终定义外键约束并为其建立索引。2)性能与索引——B-Tree 用于等值与范围查询,GIN 用于 JSONB 与全文搜索(tsvector),GiST 用于地理空间(PostGIS);对经常一起查询的列建复合索引,顺序为等值列在前、范围列在后;复杂查询用 EXPLAIN ANALYZE 验证索引使用。3)安全——启用行级安全(RLS):ALTER TABLE "table_name" ENABLE ROW LEVEL SECURITY; 为 SELECT、INSERT、UPDATE、DELETE 定义严格策略,例如用 auth.uid() = user_id 保护用户私有数据;service role key 仅用于后端管理任务,绝不暴露给客户端。4)JSONB 与关系型取舍——适合存储动态负载(如 webhook 响应、配置项)或每行结构差异大的数据;不适合需频繁连接或聚合、以及需要外键约束的数据。5)应用层用法——无服务器函数连接用 Supabase Transaction Pooler(端口 6543)避免连接耗尽;注意 Prisma 等 ORM 的 N+1 问题,谨慎使用 .include() 或显式连接;Supabase 实时功能仅对确需的表启用,Storage 桶文件访问也使用 RLS 策略。限制:资料未提供安装命令、代码示例、收费与价格、支持平台及实测效果等信息。