PostgreSQL for Search
Website • Documentation • Blog • Community
ParadeDB is an ElasticSearch alternative built on PostgreSQL, engineered for lightning-fast full text, similarity, and hybrid search.
It offers the most comprehensive, Postgres-native search features of any Postgres database, so you don't need to glue cumbersome services like a search engine or vector database on top.
-
⚡ Speed: ParadeDB is built in Rust on top of PostgreSQL and Tantivy, a Rust-based implementation of Apache Lucene. See our benchmarks here.
-
🌿 Simplicity: Consolidate your database and search engine into a single system, so you don't need to worry about keeping separate services in sync.
-
🐘 SQL First: Write search queries in SQL with ACID transactions.
-
🚀 Scalability: Scale to millions of rows with support for distributed search, high availability, backups, and point-in-time-recovery.
ParadeDB is still under active development and should be used in production with caution. We're aiming to be fully stable by the end of October 2023.
We are currently in Public Beta. Star & watch this repo to get notified of major updates.
- Search
- Self-hosting
- Docker image & deployment instructions
- Kubernetes Helm chart & deployment instructions
- Cloud Database
- Managed cloud
- Self-serve cloud
- Public Cloud (AWS, GCP, Azure) Marketplace Images
- High availability
- Web-based SQL Editor
Coming soon! Sign up for the ParadeDB Cloud waitlist.
To install ParadeDB locally or on-premise, simply pull and run the latest Docker image:
docker run \
-e POSTGRES_USER=<user> \
-e POSTGRES_PASSWORD=<password> \
-e POSTGRES_DB=<dbname> \
-p 5432:5432 \
-d \
paradedb/paradedb:latest
Alternatively, you can clone this repo and run our docker-compose.yml
file. By default, this will start the ParadeDB database at http://localhost:5432
. Use psql
to connect:
psql -h <hostname> -U <user> -d <dbname> -p 5432 -W
ParadeDB collects anonymous telemetry to help us understand how many people are using the project. You can opt-out of telemetry by adding -e TELEMETRY=false
(or unsetting the variable) to your docker run
command, or by setting TELEMETRY: false
in the docker-compose.yml
file.
To install the ParadeDB extension(s) manually within an existing self-hosted Postgres, see the extension(s)' README. We strongly recommend using the ParadeDB Docker image, which is optimized for running search in Postgres.
If you are self-hosting Postgres and are interested in ParadeDB, please contact the ParadeDB team and we'll be happy to help!
To get started using ParadeDB, please follow the quickstart guide!
You can find the complete documentation for ParadeDB at docs.paradedb.com.
If you're missing a feature or have found a bug, please open a GitHub Issue.
To get community support, you can:
- Post a question in the ParadeDB Slack Community
- Ask for help on our GitHub Discussions
If you need commercial support, please contact the ParadeDB team.
We welcome community contributions, big or small, and are here to guide you along the way. To get started contributing, check our first timer issues or message us in the ParadeDB Community Slack. Once you contribute, ping us in Slack and we'll send you some ParadeDB swag!
For more information on how to contribute, please see our Contributing Guide.
This project is released with a Contributor Code of Conduct. By participating in this project, you agree to follow its terms.
Thank you for helping us make ParadeDB better for everyone ❤️.
ParadeDB is licensed under the GNU Affero General Public License v3.0.