Field noteOct 27, 20266 min read1 source

Introducing pg_pinecone: Open-Source Search for Your Postgres Data

Pinecone has released pg_pinecone, an Apache 2.0 Postgres extension for vector search over data already stored in Postgres.

In one minute

Pinecone has released pgpinecone, an Apache 2.0 Postgres extension for vector search over data already stored in Postgres. For AI teams, the practical proposition is a smaller, filter-aware native index with unchanged SQL, plus an optional path from local search to Pinecone’s managed service.

What changed: Pinecone released pg_pinecone, a new open-source Postgres extension for vector search; the prior documents cover different Pinecone products and releases.

What happened

On October 27, 2026, Pinecone announced pg_pinecone, an open-source Postgres extension for search on Postgres-resident data. The extension works with vector columns already used through pgvector and keeps Postgres as the system of record. Applications can continue to connect to Postgres and issue the same nearest-neighbor SQL pattern, such as ORDER BY embedding <=> $1 LIMIT 10; the release is not asking teams to rewrite their query interface around a separate vector database.

The extension offers three engines per table. Its default native engine builds and searches an index inside the Postgres database and, according to Pinecone, needs no Pinecone account, API key, or network calls. A pgvector engine can search an existing pgvector HNSW index. A remote engine sends search to an index in Pinecone’s managed service. Teams switch engines with pinecone.set_engine() while retaining their SQL queries. If they move to the remote engine, Pinecone says embeddings synchronize to the managed index in the background and searches continue in Postgres until that copy is ready.

The native engine is the technical core of the announcement. Rather than using an HNSW graph, it groups vectors into clusters with an inverted-file index and stores a quantized representation of each vector using RaBitQ codes. Pinecone says the compressed codes use about one bit per dimension plus correction values. Search first identifies nearby clusters, estimates distances from codes, then reranks a shortlist using full vectors held in the table. On its stated benchmark of one million 768-dimensional vectors, Pinecone reports a 136 MB native index, compared with 2.0 GB for HNSW on halfvec and 4.1 GB for HNSW on full-size vectors.

Filtered retrieval is another focus. Pinecone characterizes pgvector HNSW as post-filtering: it finds neighbors and then applies a WHERE clause, which can yield too few returned rows under narrow tenant, user, or category scopes. pg_pinecone stores one filter-column value beside each vector code. For filters matching 3% or fewer rows by default, it uses pre-filtering and scores every matching row with its full vector. For wider filters, it searches additional nearby clusters and evaluates the filter inside them. Pinecone reports that, at 10% matching rows, this approach reached 1.000 recall in 12.3 ms, while HNSW with iterative scans reached at most 0.920 recall in 5.9 ms. Its unfiltered results, measured at k=10 and one client, report 1.3 ms at 0.95 recall and 2.3 ms at 0.99 recall, against 1.7 ms and 4.7 ms for halfvec HNSW respectively.

The release also includes optional Pinecone-connected functions. embed() can call Pinecone’s inference service to create embeddings from text; Pinecone says its free tier covers a first build. The extension can track text columns for BM25 search, and rerank() can reorder candidate results with Pinecone reranking models. Installation is available from a pre-built GitHub release or a Docker image. Pinecone calls this a first release, says it will maintain the project and review pull requests, and invites feedback through GitHub, Discord, and monthly office hours.

What the archive adds

We have not published a Field Note on this product before; it opens a new thread. Our earlier Telegram coverage discussed SeekDB as an open-source, MySQL-compatible database combining vector, full-text, structured, JSON, and GIS search. pg_pinecone is a distinct event: it targets existing Postgres vector columns and adds an optional bridge to Pinecone’s managed search service.

Trend signal

No supplied pattern or archive assumption genuinely fits this release closely enough to support a broader trend claim.

Why it matters

For a team whose application data and embeddings already live in Postgres, pg_pinecone offers a deployment choice rather than an immediate architectural replacement. The native engine may be worth testing where per-tenant filtering is central to retrieval quality, where an HNSW index competes heavily for database memory, or where index build time is operationally significant. Keeping the query surface unchanged lowers the cost of a controlled evaluation: a team can use a representative table and compare result quality, latency, build time, and memory footprint without first changing application SQL.

The three-engine design is equally consequential. It separates the application’s retrieval calls from a later decision about whether search stays inside one Postgres server or moves to a managed Pinecone index. That can be useful, but it is not automatic portability in every operational sense: remote search introduces a Pinecone dependency, and embedding, full-text, and reranking functions are optional Pinecone services. Teams should treat the extension as a retrieval component to benchmark, not as evidence that one index is universally superior.

What happens next

  • Teams with heavily filtered Postgres retrieval workloads will publish or share comparative tests of native pg_pinecone and HNSW. (3 months, 65%). Watch for: reproducible datasets, filter selectivity, recall targets, and memory limits.
  • Pinecone will expand the first-release roadmap in response to installation and benchmark feedback. (6 months, 60%). Watch for: accepted pull requests, release notes, and documented engine capabilities.

Limits and uncertainty

The numerical comparisons come from Pinecone’s own benchmarks, not an independent evaluation. They use one million 768-dimensional wiki_dpr vectors and specified AWS hardware, with different sessions for some measurements; they do not establish results for every embedding model, corpus shape, concurrent workload, filter distribution, hardware profile, or Postgres configuration. The announcement describes one filter column stored beside each code, but does not establish how all production schemas or multi-condition filters behave. It also does not provide a complete cost comparison for the optional managed, embedding, full-text, or reranking services. Finally, Pinecone explicitly calls pg_pinecone its first release, so operational maturity and feature coverage remain to be demonstrated in deployed workloads.

Skill to build now

Create a small benchmark from a real retrieval table this week. Preserve the current pgvector query, choose representative tenant or user filters, and measure recall at a fixed LIMIT, p50 latency, index size, build time, and behavior after inserts. Include both a narrow and a broad filter, since pg_pinecone selects different strategies around the stated 3% threshold. Record the data distribution and resource cap so a result is useful for an engineering decision rather than a generic vendor comparison.

Reader takeaway

pg_pinecone is an open-source option for keeping vector search inside Postgres while changing the index design underneath familiar SQL. Its strongest claim is not simply faster nearest-neighbor search: it is more reliable filtered retrieval with a much smaller index. Verify that claim on your own data before changing a production retrieval path.

Open question

Will the native engine retain its reported recall and memory advantages under multi-tenant production workloads with frequent writes, multiple filters, and meaningful concurrent query volume?

Evidence / sources

  1. 1pinecone.io/blog/introducing-pg-pinecone
All Field Notes

Next reads

Read next

Open the graph
  1. 01topicGithubExplore the github topic hub.
  2. 02archiveField NotesOpen the latest editorial analysis.
  3. 03source ledgerSource LedgerInspect the public source evidence graph.
Who read this page?Machine requests, hidden until opened

Loading the privacy-safe route aggregate...

Open the JSON contract