Why We Moved Our Vector Search Off Supabase — And When Supabase AI Still Makes Sense
Tool Crucible evaluation of Why We Moved Our Vector Search Off Supabase — And When Supabase AI Still Makes S — real-world testing, tradeoffs, and current stack.
Published 2026-06-07
TL;DR: Supabase’s pgvector hits connection pooler limits at 500K+ vectors; we migrated to a dedicated Vector DB (Qdrant) for search, kept Supabase for auth + Postgres. Supabase AI (pgvector + edge functions) works for <100K vectors and prototype speed — full comparison.
The Context
RAG pipeline for internal docs: 200K chunks (code, docs, tickets), 1500-dim embeddings, 50 QPS peak. Started on Supabase because “Postgres + vector + auth in one.” Hit pgbouncer exhaustion at 200K vectors — connection pooler max 100 connections, each search holds connection for 200-500ms.
What We Tested
| Tool | Use Case | Verdict | Why |
|---|---|---|---|
| Supabase pgvector (shared) | Prototype, <50K vectors | ✅ | Zero infra; SQL JOINs with metadata; edge functions for hybrid search |
| Supabase pgvector (dedicated) | Production, 200K+ vectors | ❌ | $600/mo for 8GB RAM; still hits pooler limits; no HNSW tuning knobs |
| Qdrant Cloud | Dedicated vector search | ✅ | $50/mo for 1M vectors; HNSW config; filtering; 10x throughput |
| Pinecone Serverless | Managed, pay-per-query | ⚠️ | Great DX; $150/mo at our scale; vendor lock-in; no hybrid SQL |
| Weaviate (self-hosted) | Full control, GPU hybrid | ❌ | Overkill; ops burden; Java heap tuning |
The Pivot Point
Black Friday traffic: 2x normal QPS. Supabase returned 503s (pooler exhausted). Qdrant handled 10x spike on same tier. Migration took 4 hours: export vectors → import to Qdrant → swap client → update edge function to call Qdrant REST.
What We Use Now
Hybrid: Supabase for auth, Postgres (relational data), realtime. Qdrant Cloud for vector search. Edge function: supabase.auth.getUser() → if valid, qdrant.search() → merge with Postgres metadata. Cost: $50/mo Qdrant vs $600/mo Supabase dedicated.
When You’d Choose Differently
- <100K vectors, prototype phase: Supabase pgvector is faster to start; migrate when you hit limits
- Team without vector DB experience: Supabase’s SQL interface is familiar; Qdrant adds new concepts
- Need SQL + vector in single transaction: Supabase wins (e.g., “update doc + re-embed atomically”)
Tool Crucible Rating
| Overall | Ease | Value | Support |
|---|---|---|---|
| 3.5/5 | 4.5/5 | 3.0/5 | 4.0/5 |
This is part of our vector database evaluation series. See full comparison: Supabase AI vs Dedicated Vector DB
Last reviewed 2026-06-07. See our methodology and affiliate policy.