본문으로 건너뛰기
cccskills
무료GitHub에 공개

supabase-postgres-best-practices

PostgreSQL performance optimization guidelines from Supabase. Apply when writing SQL, designing schemas, configuring RLS, or optimizing database performance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구SupabasePostgreSQL
설치 방법 보기

포함된 파일(1)

  • SKILL.md3.9 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

Supabase PostgreSQL Best Practices

Source: https://github.com/supabase/agent-skills

Rule Categories (Prioritized by Impact)

PriorityCategoryImpactPrefix
1Query PerformanceCRITICALquery-
2Connection ManagementCRITICALconn-
3Security & RLSCRITICALsecurity-
4Schema DesignHIGHschema-
5Concurrency & LockingMEDIUM-HIGHlock-
6Data Access PatternsMEDIUMdata-
7Monitoring & DiagnosticsLOW-MEDIUMmonitor-
8Advanced FeaturesLOWadvanced-

1. Query Performance (CRITICAL)

  • Always add indexes for columns used in WHERE, JOIN, and ORDER BY clauses
  • Use partial indexes for filtered queries: CREATE INDEX idx_active ON users(email) WHERE active = true
  • Prefer EXISTS over IN for subqueries
  • Avoid SELECT * - specify only needed columns
  • Use EXPLAIN ANALYZE to verify query plans
  • Add composite indexes for multi-column queries (column order matters)
  • Use covering indexes to avoid heap lookups

2. Connection Management (CRITICAL)

  • Use Supabase connection pooler (PgBouncer) for serverless/edge functions
  • Use transaction mode for short-lived queries
  • Use session mode only when needed (prepared statements, advisory locks)
  • Set appropriate pool size limits
  • Release connections promptly - avoid holding connections during external calls
  • Use connection timeouts to prevent leaks

3. Security & RLS (CRITICAL)

  • Enable RLS on ALL tables exposed via Supabase API
  • Write policies using auth.uid() and auth.jwt()
  • Avoid functions marked SECURITY DEFINER unless necessary
  • Use SECURITY INVOKER as default for functions
  • Never trust client-side data - validate in policies
  • Test RLS policies with different roles
  • Use USING for read policies, WITH CHECK for write policies

4. Schema Design (HIGH)

  • Use appropriate data types (e.g., uuid for IDs, timestamptz for times)
  • Add NOT NULL constraints where applicable
  • Use CHECK constraints for data validation
  • Prefer text over varchar(n) unless length limit is meaningful
  • Use partial indexes instead of filtered queries
  • Design schemas for the access patterns, not just the data model

5. Concurrency & Locking (MEDIUM-HIGH)

  • Use SELECT ... FOR UPDATE SKIP LOCKED for queue patterns
  • Keep transactions short to minimize lock contention
  • Avoid long-running transactions during migrations
  • Use advisory locks for application-level coordination
  • Be aware of lock ordering to prevent deadlocks

6. Data Access Patterns (MEDIUM)

  • Use Supabase client libraries for standard CRUD
  • Use RPC functions for complex operations
  • Implement pagination with cursor-based approach (not OFFSET)
  • Use realtime subscriptions judiciously
  • Batch operations where possible

7. Monitoring & Diagnostics (LOW-MEDIUM)

  • Monitor pg_stat_statements for slow queries
  • Check pg_stat_user_indexes for unused indexes
  • Monitor connection count and pool utilization
  • Set up alerts for long-running queries
  • Review lock waits periodically

8. Advanced Features (LOW)

  • Use CTEs for readable complex queries (but note CTE materialization)
  • Leverage PostgreSQL extensions (pgvector, pg_trgm, etc.)
  • Use generated columns for computed values
  • Consider table partitioning for very large tables
  • Use LISTEN/NOTIFY for event-driven patterns

References

For detailed rule files with specific examples, see templates/guides/supabase-postgres/.

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Pre-action boundary checking — validates agent tool calls against declared capabilities and task contracts

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Auto-detect project context and optimize harness — deactivate unused agents/skills, suggest missing experts, generate project profile

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Adversarial code review using attacker mindset — trust boundary, attack surface, business logic, and defense evaluation

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Apache Airflow best practices for DAG authoring, testing, and production deployment

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Alembic migration patterns for naming conventions, safety checks, expand-contract, env.py configuration, and CI integration

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

Pre-routing ambiguity analysis — scores request clarity and asks clarifying questions when needed (inspired by ouroboros)

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

baekenough/second-brain152026년 10월 8일 업데이트

baekenough의 스킬 모두 보기

이 스킬의 문제 신고