Category: All posts
Apr 30, 2025
Today marks day 2 of Timescale Launch Week, and we’re bringing benchmarks.
There’s a belief in the AI infrastructure world that you need to abandon general-purpose databases to get great performance on vector workloads. The logic goes: Postgres is great for transactions, but when you need high-performance vector search, it’s time to bring in a specialized vector database like Qdrant.
That logic doesn’t hold—just like it didn’t when we benchmarked pgvector vs. Pinecone.
Like everything in Launch Week, this is about speed without sacrifice. And in this case, Postgres delivers both.
We’re releasing a new benchmark that challenges the assumption that you can only scale with a specialized vector database. We compared Postgres (with pgvector and pgvectorscale) to Qdrant on a massive dataset of 50 million embeddings. The results show that Postgres not only holds its own but also delivers standout throughput and latency, even at production scale.
This post summarizes the key takeaways, but it’s just the beginning. Check out the full benchmark blog post on query performance, developer experience, and operational experience.
Let’s dig into what we found and what it means for teams building production AI applications.
We tested Postgres and Qdrant on a level playing field:
The takeaway? Postgres with pgvector and pgvectorscale showed significantly higher throughput while maintaining sub-100 ms latencies. Qdrant performed strongly on tail latencies and index build speed, but Postgres pulled ahead where it matters most for teams scaling to production workloads.
For the complete results, including detailed performance metrics, graphs, and testing configurations, read the full benchmark blog post.
These results aren’t just a technical curiosity. They have real implications for how you architect your AI stack:
Postgres with pgvector and pgvectorscale gives you the performance of a specialized vector database without giving up the ecosystem, tooling, and developer experience that make Postgres the world’s most popular database.
You don’t need to split your stack to do vector search.
How can Postgres compete with (and outperform) purpose-built vector databases?
The answer lies in pgvectorscale (part of the pgai family), which implements the StreamingDiskANN index (a disk-based ANN algorithm built for scale) for pgvector. Combined with Statistical Binary Quantization (SBQ), it balances memory usage and performance better than traditional in-memory HNSW (hierarchical navigable small world) implementations.
That means:
All while staying inside Postgres.
To be clear: Qdrant is a capable system. It has faster index builds and lower tail latencies. It’s a strong choice if you’re not already using Postgres, or for specific use cases that need native scale-out and purpose-built vector semantics.
However, for many teams—especially those already invested in Postgres—it makes no sense to introduce a new database just to support vector search.
If you want high recall, high throughput, and tight integration with your existing stack, Postgres is more than enough.
Pgvector and pgvectorscale are open source and available today:
Vector search in Postgres isn’t a hack or a workaround. It’s fast, it scales, and it works. If you’re building AI applications in 2025, you don’t have to sacrifice your favorite database to move fast.
That’s it for day 2! Tomorrow, we’re taking Postgres even further: Learn how to stream external S3 data into Postgres with livesync for S3 and work with S3 data in place using the pgai Vectorizer. Two powerful ways to seamlessly integrate external data from S3 directly into your Postgres workflows!