Back to Intelligence
Database

Postgres is All You Need (Usually)

Feb 12, 2026 15 min read

In 2024, the "Modern AI Stack" became bloated. You supposedly needed: LangChain for logic, Pinecone for vectors, Redis for caching, and Postgres for user data.

This is what we call "Resume Driven Development." For 95% of startups, this complexity is unnecessary liability. The release of `pgvector` has made Postgres a competent vector database that lives right alongside your user data.

Vertex Summary (TL;DR)

  • The 10M Rule: Unless you have >10 Million vectors, specialized DBs (Pinecone/Milvus) offer negligible performance gains over Postgres.
  • The "Join" Problem: Keeping vectors in a separate DB makes filtering by metadata (e.g., "Show me vectors for User ID 123") incredibly painful.
  • Migration Path: It is trivial to migrate FROM Postgres TO Pinecone later. It is very hard to merge them back. Start simple.

Benchmark: 1 Million Vectors

We tested a dataset of 1M OpenAI embeddings (1536 dimensions). This represents roughly 20,000 PDF documents—a huge app for most startups.

Pinecone (P1 Pod)12ms Latency
Supabase (pgvector + HNSW)18ms Latency

The Verdict: Is saving 6ms worth maintaining a completely separate database infrastructure? For High-Frequency Trading? Yes. For a Chatbot? No.

The Hidden Cost of "Best of Breed"

When you split your data, you don't just pay for the DB. You pay the "Synchronization Tax."

  • You have to write sync scripts to keep User IDs consistent.
  • You double your latency (App → Pinecone → App → Postgres → App).
  • You double your failure points. If Pinecone is down, your app breaks. If Postgres is down, your app breaks.

Building a RAG App?

Don't overspend on infrastructure. Use our calculator to see the true cost of your AI pipeline (Vectors included).

Calculate RAG Costs