Supabase Postgres Best Practices
When & Why to Use This Skill
This Claude skill provides a comprehensive suite of Postgres performance optimization techniques and best practices maintained by Supabase. It empowers developers to write high-efficiency SQL, design scalable database schemas, and implement robust security protocols. By leveraging expert-level rules across query tuning, connection management, and Row-Level Security (RLS), it ensures your database remains performant, secure, and reliable under heavy workloads.
Use Cases
- Query Optimization: Identifying and fixing slow-running SQL queries by applying missing indexes and optimizing execution plans.
- Schema Design: Reviewing and refining database architectures to ensure optimal data types, normalization, and scalability.
- Security Implementation: Auditing and implementing Row-Level Security (RLS) policies to protect sensitive data directly at the database layer.
- Performance Troubleshooting: Diagnosing bottlenecks in connection pooling, locking mechanisms, and data access patterns to improve application responsiveness.
- Code Review: Providing automated, expert-level feedback on SQL scripts and database migrations during the development lifecycle.
| name | supabase-postgres-best-practices |
|---|---|
| description | Postgres performance optimization and best practices from Supabase. Use this skill when writing, reviewing, or optimizing Postgres queries, schema designs, or database configurations. |
| license | MIT |
| author | supabase |
| version | "1.0.0" |
Supabase Postgres Best Practices
Comprehensive performance optimization guide for Postgres, maintained by Supabase. Contains rules across 8 categories, prioritized by impact to guide automated query optimization and schema design.
When to Apply
Reference these guidelines when:
- Writing SQL queries or designing schemas
- Implementing indexes or query optimization
- Reviewing database performance issues
- Configuring connection pooling or scaling
- Optimizing for Postgres-specific features
- Working with Row-Level Security (RLS)
Rule Categories by Priority
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | Query Performance | CRITICAL | query- |
| 2 | Connection Management | CRITICAL | conn- |
| 3 | Security & RLS | CRITICAL | security- |
| 4 | Schema Design | HIGH | schema- |
| 5 | Concurrency & Locking | MEDIUM-HIGH | lock- |
| 6 | Data Access Patterns | MEDIUM | data- |
| 7 | Monitoring & Diagnostics | LOW-MEDIUM | monitor- |
| 8 | Advanced Features | LOW | advanced- |
How to Use
Read individual rule files for detailed explanations and SQL examples:
rules/query-missing-indexes.md
rules/schema-partial-indexes.md
rules/_sections.md
Each rule file contains:
- Brief explanation of why it matters
- Incorrect SQL example with explanation
- Correct SQL example with explanation
- Optional EXPLAIN output or metrics
- Additional context and references
- Supabase-specific notes (when applicable)
Full Compiled Document
For the complete guide with all rules expanded: AGENTS.md