Overview
ParadeDB adds full-text search, vector retrieval and aggregations to Postgres through the pg_search extension. Instead of running a separate search engine next to your database and keeping the two in sync, your application data and your search index live in the same Postgres instance, and the index is updated in the same transaction as the write.
The search engine underneath is Rust: Tantivy powers full-text search and BM25 scoring, Apache DataFusion handles the analytical side, and pgrx bridges the whole thing into Postgres. Vectors are indexed through the pgvector extension today, which is why the install docs tell you to install pgvector first and to create the extension with CASCADE.
You query it with ordinary SQL — a search predicate and a score function in a normal SELECT — so filtering, joins, ACID guarantees and your existing Postgres tooling all still apply. ParadeDB Community is licensed AGPL-3.0; a separately-licensed ParadeDB Enterprise edition and hosted deployment options exist alongside it.
What it does
- BM25-scored full-text search inside Postgres, with tokenizers, token filters, highlighting and top-K ordering
- Vector retrieval via pgvector, so keyword and embedding search sit behind the same SQL interface
- Aggregations, facets and bucket/metric queries backed by columnar storage
- Search indexes update transactionally with your writes — no ETL job or sync pipeline between two systems
- Built on Tantivy, Apache DataFusion and pgrx, with fixes contributed back upstream
- ORM integrations for Drizzle, Django, SQLAlchemy, Rails and EF Core, plus an MCP integration for AI agents
Getting started
The fastest path is the install script, which pulls a ParadeDB Docker image and drops you into psql. To add pg_search to a Postgres server you already run, install the extension package and enable it.
Try it locally in Docker
Runs ParadeDB in a fresh container and opens a psql session against it.
curl -fsSL https://paradedb.com/install.sh | shOr add pg_search to an existing Postgres
Install the release package for your platform and Postgres version, then preload the library. This example is the Ubuntu 26.04 / Postgres 18 build from the deployment docs.
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.25.3/postgresql-18-pg-search_0.25.3-1PARADEDB-resolute_amd64.deb" -o /tmp/pg_search.deb
sudo apt-get install -y /tmp/*.deb
# in postgresql.conf
shared_preload_libraries = 'pg_search'Enable the extension
CASCADE pulls in the vector type from pgvector if it is not already installed.
CREATE EXTENSION pg_search CASCADE;Index a table and search it
Create a ParadeDB index over the columns you want searchable and filterable, then run a normal SELECT that combines a search predicate, a SQL filter and BM25 scoring.
CREATE INDEX search_idx ON mock_items
USING paradedb (id, description, rating)
WITH (key_field='id');
SELECT description, pdb.score(id)
FROM mock_items
WHERE description ||| 'running shoes' AND rating > 2
ORDER BY score DESC
LIMIT 5;Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Add relevance-ranked product or document search to an app whose data already lives in Postgres, without standing up Elasticsearch alongside it
- Retire a search cluster and the ETL pipeline that feeds it, so search results can never lag behind a write
- Build hybrid retrieval for a RAG pipeline where keyword matching, vector similarity and SQL filters are all one query
- Run faceted, aggregated search over a large table while keeping transactional guarantees on the same rows
How ParadeDB compares
ParadeDB alongside other open-source vector databases tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| Supabase | ★ 110k | Managed Postgres backend whose Vector toolkit (pgvector) stores, indexes, and queries embeddings next to transactional data. |
| Redis Cloud | ★ 76.4k | Fully-managed Redis with built-in vector search, offering low-latency similarity and hybrid queries over any embeddings. |
| Milvus | ★ 46.2k | A distributed vector database for storing and searching billions of embeddings at scale, with multiple index types and Kubernetes-native deployment. |
| FAISS | ★ 40.9k | A library from Meta for efficient similarity search and clustering of dense vectors, with both exact and approximate indexes. |
| Qdrant | ★ 34.7k | A Rust-based vector search engine that stores embeddings with rich payload filtering for semantic search and recommendation systems. |
| Chroma | ★ 29.3k | A developer-focused vector database designed for quickly building retrieval and RAG features with a simple Python and JavaScript API. |
| pgvector | ★ 23.1k | A PostgreSQL extension that adds a vector data type and similarity search so you can store and query embeddings inside an existing Postgres database. |
| ParadeDB | ★ 9.3k | Search without a second system: BM25, vectors and aggregations inside Postgres |