--- title: Introduction to ParadeDB and pg_search sidebarTitle: Introduction description: Developer documentation for ParadeDB and the pg_search extension — installation, indexing, query syntax, and deployment guides. canonical: https://docs.paradedb.com/welcome/introduction --- ![ParadeDB Banner](/images/paradedb_banner.png) ParadeDB is a search engine built into Postgres. It's built on the **pg_search** extension, a single Postgres index for efficient vector/text search, BM25 scoring, filtering, and aggregates. Everything runs inside your system of record with Postgres' transactional guarantees, not in a second system you have to keep in sync. **ParadeDB Cloud is coming soon.** We're building a fully managed ParadeDB: first-class search from Postgres, with a developer experience to match. [Join the waitlist](https://www.paradedb.com/cloud). ## Who is ParadeDB for? You're likely a good fit for ParadeDB if any of the following sound like you: 1. **Postgres is your primary database** (managed or self-managed) and you'd rather build on it than around it. 2. You've **outgrown Postgres' built-in search** (`tsvector` or `pgvector`) and hit **performance bottlenecks** or **missing features** with vector/text search. 3. You're **evaluating a search engine** like Elasticsearch, but don't want to run (and continuously sync) a second system alongside your database. ## Why ParadeDB? For teams that already use Postgres, ParadeDB is the simplest path to one Postgres for your application data, full-text search, vector retrieval, and aggregations. ### Zero ETL Required Syncing Postgres with an external search engine like Elastic is a time-consuming, error-prone process that involves babysitting ETL pipelines and debugging data inconsistencies. ParadeDB eliminates this class of problems because search, vectors, and aggregations live right next to your data. pg_search is a pure Postgres extension: no fork, no separate server. [Install it](/deploy/self-hosted/extension) in your primary Postgres and your search index stays current automatically: index updates happen in the same transaction as your writes, with no pipeline to maintain. If you can't install extensions on your primary, see [other deployment options](/deploy/overview). ### Search That Feels Like Postgres In ParadeDB, a search query is just SQL. You use the operators and functions you already know, with full support for `JOIN`s, so there's no need to denormalize your existing schema. ```sql -- Index a table for full-text search CREATE INDEX search_idx ON mock_items USING paradedb (id, description, rating) WITH (key_field='id'); -- Rank by relevance, then filter and sort like any other query SELECT description, pdb.score(id) FROM mock_items WHERE description ||| 'running shoes' AND rating > 2 ORDER BY score DESC LIMIT 5; ``` ParadeDB accelerates standard SQL queries. That includes: - **Text**: relevance-ranked full-text queries like the one above. - **Aggregations**: the same index serves faceted search and aggregations, pushing filters and aggregates directly into the index instead of computing them afterward. - **Vectors**: the ParadeDB index is a high-performance, drop-in compatible version with `pgvector`. ### One Index Behind Every Query Behind the SQL is a single custom index: the **ParadeDB index**, built on [Tantivy](https://github.com/quickwit-oss/tantivy), the Rust port of Lucene. It goes toe-to-toe with dedicated search engines on full-text performance, often coming out on top. [See how it's built →](/welcome/architecture) ### As Reliable As Postgres ParadeDB supports Postgres transactions and ACID guarantees. Data is searchable immediately after it's written, and durable thanks to Postgres write-ahead logging. See [Guarantees](/welcome/guarantees) for the details, including isolation levels and replication safety. ## ParadeDB vs. Alternatives People usually compare ParadeDB to two other types of systems: OLTP databases like vanilla Postgres and search engines like Elastic. | | **OLTP database** | **Search engine** | **ParadeDB** | | --------------------------- | ------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------- | | **Primary role** | System of record | Search and retrieval engine | System of record **and** search engine | | **Examples** | Postgres, MySQL | Elasticsearch, OpenSearch | | | **Search features** | Basic FTS (no BM25, weak ranking) | Rich search features (BM25, fuzzy matching, faceting, hybrid search) | Rich search features (BM25, fuzzy matching, faceting, hybrid search) | | **Analytics features** | Not an analytical DB (no column store, batch processing, etc.) | Column store, batch processing, parallelization via sharding | Column store, batch processing, parallelization via Postgres [parallel workers](/documentation/performance-tuning/reads#raise-parallel-workers) | | **Lag** | None in a single cluster | At least network, ETL transformation, and indexing time | None in a single cluster | | **Operational complexity** | Simple (single datastore) | Complex (ETL pipelines, managing multiple systems) | Simple (single datastore) | | **Scalability** | Vertical scaling in a single node, horizontal scaling through Kubernetes | Horizontal scaling through sharding | Vertical scaling in a single node, horizontal scaling through [Kubernetes](/deploy/self-hosted/kubernetes) | | **Language** | SQL | Custom DSL | Standard SQL with custom search operators | | **ACID guarantees** | Full ACID compliance, read-after-write guarantees | No transactions, atomic only per-document, eventual consistency, durability not guaranteed until flush | Full ACID compliance, read-after-write guarantees | | **Update & delete support** | Built for fast-changing data | Struggles with updates/deletes | Built for fast-changing data | ## Production Readiness ParadeDB launched out of the [Y Combinator (YC)](https://ycombinator.com) S23 batch and has run in production since December 2023. [ParadeDB Community](https://github.com/paradedb/paradedb), the open-source version of ParadeDB, has been deployed over 1.5 million times via its Docker image, and the pg_search extension has been installed over 250,000 times. ParadeDB Enterprise, the durable and production-hardened edition of ParadeDB, powers core search and analytics use cases at enterprises ranging from Fortune 500s to fast-growing startups. A few examples include: - **Alibaba Cloud**, the largest Asia-Pacific cloud provider, uses ParadeDB to power search inside their data warehouse. [Case study available](https://www.paradedb.com/customers/case-study-alibaba). - **Bilt Rewards**, a rent payments technology company that processed over $36B in payments in 2024. [Case study available](https://www.paradedb.com/customers/case-study-bilt). - **Modern Treasury**, a financial technology company that automates the full cycle of money movement. [Case study available](https://www.paradedb.com/customers/case-study-modern-treasury). - **Span**1, one of the fastest-growing AI developer productivity platforms. - **TCDI**1, a giant in the legal software and litigation management space. _1. Case study coming soon._ ## Next Steps You're now ready to jump into our guides. Get started with ParadeDB in under five minutes. Learn how ParadeDB is built. API reference for full text search and analytics. Deploy ParadeDB as a Postgres extension or standalone database.