Key findings
- pgvector holds up in production at Discourse, across thousands of databases, and at Instacart, where a production A/B test cut zero-result searches by 6% (May 2025).
- Filters are where teams struggle: the planner skipped HNSW indexes under selective filters at Mem0 and on a 3-million-vector table, and Clarvo had to restructure queries.
- Scale ceilings in public accounts run from roughly 10 million vectors (Mem0's advice) to past 100 million (one Hacker News commenter), and Halcyon, with trillions of embeddings, found Postgres unsuitable several orders of magnitude below that.
- Release and host issues recur: a 0.8.4 image broke a CI index build, a sparsevec insert regression waited for an October 2026 fix, and a Digdir team reports Azure ships 0.8.2, which carries an HNSW vacuum bug.
pgvector runs in production at Discourse and Instacart, and Mem0 and Halcyon moved past it. This piece reads 26 public accounts from 2025 and 2026 and six named deployment accounts against pgvector's own README and CHANGELOG, stored on November 1, 2026, to show what decides the difference.
Where pgvector holds up
Discourse runs pgvector in thousands of databases and uses binary vectors with re-ranking to make index storage 32 times smaller. Instacart moved semantic search off FAISS and saw a 6% drop in zero-result searches, marginally slower for its larger retailers.
Smaller teams pick it for operations: one chose it because the team already knew Postgres and it was easy to hand over to operations, and Clarvo cut filtered queries from tens of seconds to single-digit milliseconds by restructuring them (November 2025).
Where filters and the planner bite
With approximate indexes, filtering is applied after the index scan. Mem0's HNSW indexes recorded 0 scans because the planner chose sequential scans under tenant filters, and one machine learning engineer saw LIMIT 5 on the index take 1,885 ms against 235 ms for a parallel scan.
Iterative index scans, from 0.8.0, and partial indexes for low-cardinality filters are the documented answers, and teams report still checking plans by hand.
Releases and hosts
pgvector's maintainer ships fixes quickly, with 0.8.3 out within four days of one team asking, but hosts lag: a Norwegian public-sector team on Azure planned to turn autovacuum off on HNSW tables until Azure ships 0.8.4 or later (October 2026).
Methodology
GILD built this piece from 26 practitioner accounts dated 2025 and 2026 (Hacker News comments, GitHub issues, and company and practitioner blogs) and six named deployment accounts, each checked by a different model against its stored page, and from pgvector's README, CHANGELOG and LICENSE stored on November 1, 2026. Figures are the authors' own; none is a GILD benchmark.
Products in this piece
Sources
- Official documentation
- 5
- Public source
- 9
- pgvector on GitHub: README
- pgvector on GitHub: CHANGELOG
- pgvector on GitHub: LICENSE
- pgvector on GitHub: META.json
- Microsoft Learn: pgvector on Azure Database for PostgreSQL flexible server
- Hacker News, xfalcox: pgvector at Discourse (Nov 3, 2025)
- Instacart tech blog: a modern search infrastructure on Postgres (May 28, 2025)
- Clarvo blog: optimizing filtered vector queries (Nov 4, 2025)
- Mem0 blog: How we cut vector search latency by 70x (Jul 30, 2026)
- pgvector issue #916: planner choices under a 1% filter (Oct 26, 2025)
- Hacker News, whakim: Postgres at Halcyon's scale (Nov 3, 2025)
- pgvector issue #995: index build memory after 0.8.4 (Jul 1, 2026)
- pgvector issue #1025: insert cost after VACUUM on a sparsevec HNSW index (Sep 10, 2026)
- digdir/genki issue #186: pgvector 0.8.2 on Azure and HNSW vacuum (Oct 29, 2026)