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, developers implementing search and analytics over Postgres face one of 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 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 Elasticsearch. It’s a drop-in solution for fast search and analytics without the need to extract, transform, and load (ETL) data to a non-Postgres system.

ParadeDB is a good fit for:

  • Latency-sensitive applications that require real-time search or analytical queries
  • Full-text, similarity, or hybrid search over large volumes of Postgres data
  • Backends that store billions of event or analytics data points and are bottlenecked by Postgres’ analytical performance

Get Started

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

docker run \
  -e POSTGRES_USER=<user> \
  -e POSTGRES_PASSWORD=<password> \
  -e POSTGRES_DB=<dbname> \
  -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 search or analytics quickstart guides.