What is ParadeDB?

ParadeDB is an Elasticsearch alternative built on Postgres. We’re modernizing the features of Elasticsearch, starting with real-time search and analytics.

ParadeDB is not a fork of Postgres, but regular Postgres with custom extensions installed. ParadeDB itself ships with Postgres 16.

Why ParadeDB

Today, Postgres users that need a search and analytics engine face two options: adopt an external service like Elasticsearch, which is powerful but painful to run, tune, and sync, or use Postgres’ native search and aggregations, which lack critical functionality and perform poorly over large datasets.

ParadeDB aims to be the best of both worlds, providing developers with the familiarity of Postgres and the performance of a dedicated search and analytical database.

ParadeDB is a good fit for:

  • Developers who trust Postgres and don’t want to operate a non-Postgres database/query engine
  • Elasticsearch users who want to consolidate their data stack on Postgres
  • Full-text, similarity, or hybrid search over large volumes of operational data with zero ETL
  • Building rich search experiences with analytical queries and facets

Get Started

The fastest way to create an instance is by pulling the ParadeDB docker image and running it locally.

docker run \
  --name paradedb \
  -e POSTGRES_USER=<user> \
  -e POSTGRES_PASSWORD=<password> \
  -e POSTGRES_DB=<dbname> \
  -v paradedb_data:/var/lib/postgresql/data/ \
  -p 5432:5432 \
  -d \
  paradedb/paradedb:latest

You may set user, password, and dbname to whatever values you want — these will be your database connection credentials. By default, this will start a ParadeDB instance at http://localhost:5432.

To connect to ParadeDB, install a Postgres client like psql and run

psql -h <hostname> -U <user> -d <dbname> -p <port> -W

Next Steps

You’re now ready to jump into our guides.