Devtoolwatch BoardGet it every Monday

pgvector review

pgvector is an open-source Postgres extension for exact and approximate vector similarity search, storing vectors alongside the rest of your data.

Updated Nov 1, 2026. Review written Oct 22, 2026 from the project's own sources; usage data refreshed every Monday.

TL;DR

pgvector adds vector similarity search to Postgres, so embeddings live in the same database as your other data. It fits developers who already use Postgres and want nearest neighbor search with ACID compliance, JOINs and point-in-time recovery. pgvector supports exact search plus HNSW and IVFFlat approximate indexes.

pgvector at a glance

Category
RAG, data and memory
Maintained by
pgvector (organization, @pgvector on GitHub)
Language
C, Perl, Makefile
Repository
github.com/pgvector/pgvector
PyPI package
pgvector 0.5.1
Latest release
pgvector 0.5.1 on PyPI, Oct 9, 2026
First published
Apr 20, 2021

What pgvector does

  • pgvector runs exact and approximate nearest neighbor search inside Postgres using SQL operators.
  • pgvector stores single-precision, half-precision, binary, and sparse vectors as column types.
  • pgvector supports L2, inner product, cosine, L1, Hamming, and Jaccard distance.
  • pgvector offers HNSW and IVFFlat approximate indexes with tunable recall and speed settings.
  • pgvector provides iterative index scans, starting with 0.8.0, so filtered queries return enough results.
  • pgvector can average vectors with AVG, including per group with GROUP BY.
  • pgvector works from any language that has a Postgres client.

How it works

pgvector is a C extension you compile or install into Postgres 13+, then enable per database with CREATE EXTENSION vector. You add vector columns to tables and query them with distance operators such as <-> in ORDER BY ... LIMIT. Indexes are created with standard CREATE INDEX using hnsw or ivfflat. Any Postgres client can use it, and a separate Python package adds pgvector support for Python.

How to install and start using pgvector

From PyPI

pip install pgvector

Requirements

  • Postgres 13 or later.
  • On Windows, C++ support in Visual Studio to build with nmake.
  • The Python package requires Python 3.10 or later.

First steps

  1. Enable the extension once in each database: CREATE EXTENSION vector;
  2. Create a table with a vector column, such as embedding vector(3).
  3. Insert vectors with INSERT, or load them in bulk using COPY in binary format.
  4. Query nearest neighbors with ORDER BY embedding <-> '[3,1,2]' LIMIT 5.

Who pgvector is for

  • Teams already on Postgres who want vectors stored with their relational data.
  • Applications that need vector search combined with JOINs, transactions, and filtering in SQL.
  • Multitenant apps that can isolate tenants through list partitioning or separate tables.

Limitations to know

  • pgvector indexes support up to 2,000 dimensions for vector, 4,000 for halfvec, and 1,000 non-zero elements for sparsevec.
  • pgvector approximate indexes trade some recall for speed, and query results change after adding one.
  • pgvector applies filtering after an approximate index scan, so filtered queries can return fewer rows unless iterative scans are enabled.
  • pgvector HNSW indexes build more slowly and use more memory than IVFFlat, and builds slow down when the graph exceeds maintenance_work_mem.

Is pgvector growing? Usage data

In the week of Oct 25–31, 2026, pgvector ranked #167 on the Devtoolwatch Board and #17 in RAG, data and memory, with a momentum score of 49 out of 100. Its main package had 9.4M downloads that week, +7% against its own 4-week average.

New GitHub stars per week for pgvector12 weeks from Aug 9, 2026: 100, 84, 116, 111, 77, 105, 72, 77, 68, 109, 80, 86 new stars, an average of 90 a week.Aug 9week of Oct 25
New GitHub stars per week for the last 12 weeks, from GitHub's stargazer history (today's stargazers by the week they starred).
Show the weekly numbers
New GitHub stars per week for pgvector
Week ofNew stars
Aug 9, 2026100
Aug 16, 202684
Aug 23, 2026116
Aug 30, 2026111
Sep 6, 202677
Sep 13, 2026105
Sep 20, 202672
Sep 27, 202677
Oct 4, 202668
Oct 11, 2026109
Oct 18, 202680
Oct 25, 202686

On Hacker News

The Board ranks tools by four signals each week: new stars, new stars for the repo's size, added downloads and download growth beyond the market. How the ranking works.

pgvector alternatives

Other RAG, data and memory tools on the Board in the week of Oct 25–31, 2026, by momentum:

RAG, data and memory ranked by momentum, the week of Oct 25–31, 2026
RankToolStarsDownloads/wk
#1XERJXERJ is a local-first search engine and MCP server for AI agents, packaged as one Rust binary with an Elasticsearch-compatible API.17.9k–
#2MemvidMemvid is a single-file memory layer for AI agents that packages data, embeddings, search indexes, and metadata into one portable .mv2 file.17.3k–
#3LEANNLEANN is a Python vector database and RAG library that recomputes embeddings on demand to keep indexes small on personal devices.13.7k–
#4GraphifyGraphify is an AI coding assistant skill that turns a codebase, with its docs, PDFs, images and videos, into a queryable knowledge graph.140k480.7k
#5MarkItDownMarkItDown is a lightweight Python utility from Microsoft that converts PDFs, Office documents, images, audio and other files to…193.2k4.7M
#6FirecrawlFirecrawl is an API and open source project to search, scrape, crawl, and interact with web pages, returning LLM-ready markdown or JSON…197.4k2.9M

All RAG, data and memory tools, ranked

pgvector FAQ

Is pgvector free and open source?

pgvector's code is on GitHub (pgvector/pgvector), but the repository doesn't declare a standard open-source license. Check its license file before using it commercially.

How do I install pgvector?

Run pip install pgvector. The pgvector package needs Python 3.10 or newer.

Is pgvector still maintained?

Yes. The pgvector/pgvector repository was last updated on Oct 21, 2026, and the latest release, pgvector 0.5.1 on PyPI, came out on Oct 9, 2026.

How popular is pgvector?

pgvector has 23.5k GitHub stars as of Nov 1, 2026. It gained 86 new stars in the week of Oct 25–31, 2026, against a 12-week average of 90 a week. Its main package had 9.4M downloads that week, +7% against its own 4-week average. That made it #17 among RAG, data and memory tools on the Devtoolwatch Board.

pgvector vs Qdrant: how do they compare?

pgvector and Qdrant are both tracked by Devtoolwatch as RAG, data and memory tools. pgvector has 23.5k GitHub stars and Qdrant has 35.4k. In the week of Oct 25–31, 2026, pgvector's main package had 9.4M downloads and Qdrant's had 4.5M. Qdrant is an open-source vector similarity search engine and vector database written in Rust, with filtering on JSON payloads. Qdrant review.

pgvector vs Milvus: how do they compare?

pgvector and Milvus are both tracked by Devtoolwatch as RAG, data and memory tools. pgvector has 23.5k GitHub stars and Milvus has 46.5k. In the week of Oct 25–31, 2026, pgvector's main package had 9.4M downloads and Milvus's had 1.1M. Milvus review.

What are the best alternatives to pgvector?

Other RAG, data and memory tools on the Devtoolwatch Board in the week of Oct 25–31, 2026, by momentum: XERJ (#1), Memvid (#2), LEANN (#3), Graphify (#4), MarkItDown (#5). The alternatives table above has their numbers.

Is pgvector a separate database?

No. pgvector is an extension for Postgres, not a separate database. You enable it in each database with CREATE EXTENSION vector and store vectors in regular tables. You keep Postgres features such as ACID compliance, point-in-time recovery, and JOINs.

How do I use pgvector in PostgreSQL?

pgvector is used through SQL. Run CREATE EXTENSION vector, create a column of type vector(n), and insert vectors as text like '[1,2,3]'. Then query nearest neighbors with ORDER BY embedding <-> '[3,1,2]' LIMIT 5.

How do I use pgvector in Python?

pgvector works with any language that has a Postgres client. A pgvector package on PyPI adds pgvector support for Python and requires Python 3.10 or later.

Is pgvector scalable?

pgvector scales through approximate indexes (HNSW or IVFFlat), quantization, parallel index builds, and partitioning. The README suggests binary quantization for faster build times at scale and more maintenance_work_mem for faster HNSW builds.

Is pgvector fast?

pgvector defaults to exact search, which gives perfect recall. For speed, add an HNSW or IVFFlat index, which trades some recall for speed. Settings like hnsw.ef_search and ivfflat.probes tune that tradeoff.

Can pgvector filter results with a WHERE clause?

Yes. pgvector supports filtered queries through indexes on the filter column, partial indexes, partitioning, or iterative index scans. With approximate indexes, filtering happens after the scan, so enable hnsw.iterative_scan or ivfflat.iterative_scan to get enough rows.

Sources

  1. pgvector/pgvector on GitHub
  2. pgvector README
  3. pgvector on PyPI
  4. Hacker News: Pgvector: Open-source vector similarity search for Postgres
  5. Hacker News: pgvector: Open-source vector similarity search for Postgres
  6. Hacker News: I Added TurboQuant to Pgvector
  7. Devtoolwatch Board, the week of Oct 25–31, 2026

pgvector README badge

Maintainers can show the tool's weekly Board rank in their README:

Devtoolwatch badge for pgvector

[![Devtoolwatch](https://index.devtoolwatch.com/badge/pgvector.svg)](https://index.devtoolwatch.com/tools/pgvector/)

How this page is made: Devtoolwatch writes each review from the project's README, releases, package metadata and website, with an AI model, then checks every claim against the source it cites and drops what the sources don't support. The numbers come from Devtoolwatch's daily GitHub snapshots, GitHub's stargazer history, and the npm and PyPI download APIs. Spotted an error? Email [email protected].