Skip to main content

Research

pgvector in Production: Where Postgres Holds Up and Where Teams Move Out

Public accounts from Discourse, Instacart and Clarvo against those from Mem0 and Halcyon, and what decides the difference: filters, the query planner and scale.

Reading time
2 min read
Sources
14 cited

Key findings

  1. 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).
  2. 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.
  3. 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.
  4. 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
  1. pgvector on GitHub: READMEOfficial documentationraw.githubusercontent.com
  2. pgvector on GitHub: CHANGELOGOfficial documentationraw.githubusercontent.com
  3. pgvector on GitHub: LICENSEOfficial documentationraw.githubusercontent.com
  4. pgvector on GitHub: META.jsonOfficial documentationraw.githubusercontent.com
  5. Microsoft Learn: pgvector on Azure Database for PostgreSQL flexible serverOfficial documentationlearn.microsoft.com
  6. Hacker News, xfalcox: pgvector at Discourse (Nov 3, 2025)Public sourcenews.ycombinator.com
  7. Instacart tech blog: a modern search infrastructure on Postgres (May 28, 2025)Public sourcetech.instacart.com
  8. Clarvo blog: optimizing filtered vector queries (Nov 4, 2025)Public sourceclarvo.ai
  9. Mem0 blog: How we cut vector search latency by 70x (Jul 30, 2026)Public sourcemem0.ai
  10. pgvector issue #916: planner choices under a 1% filter (Oct 26, 2025)Public sourcegithub.com
  11. Hacker News, whakim: Postgres at Halcyon's scale (Nov 3, 2025)Public sourcenews.ycombinator.com
  12. pgvector issue #995: index build memory after 0.8.4 (Jul 1, 2026)Public sourcegithub.com
  13. pgvector issue #1025: insert cost after VACUUM on a sparsevec HNSW index (Sep 10, 2026)Public sourcegithub.com
  14. digdir/genki issue #186: pgvector 0.8.2 on Azure and HNSW vacuum (Oct 29, 2026)Public sourcegithub.com