---
title: Extension
description: How to install ParadeDB as an extension inside an existing self-managed Postgres
canonical: https://docs.paradedb.com/deploy/self-hosted/extension
---

<Note>
  We recommend running ParadeDB Enterprise, not Community, in production to
  maximize uptime. See [overview](/deploy/overview#self-hosted).
</Note>

If you already self-manage Postgres, you may prefer to install ParadeDB directly within your self-managed
Postgres instead of deploying the ParadeDB Helm chart.

This can be done by installing the `pg_search` extension, which powers all of ParadeDB's custom functionalities.

## Prerequisites

Ensure that you have superuser access to the Postgres database.

Next, install `libicu`.

<CodeGroup>

```bash Ubuntu 20.04 or 22.04
sudo apt-get install -y libicu70
```

```bash Ubuntu 24.04
sudo apt-get install -y libicu74
```

</CodeGroup>

## Install the ParadeDB Postgres Extension

### ParadeDB Community

ParadeDB provides prebuilt binaries of our extension for Postgres 14+ on:

- Debian 12 (Bookworm) and 13 (Trixie)
- Ubuntu 22.04 (Jammy) and 24.04 (Noble)
- macOS 14 (Sonoma) and 15 (Sequoia)
- Red Hat Enterprise Linux 9 and 10

If you are using a different version of Postgres or a different operating system, you will need to build the extension from source.

#### pg_search

The prebuilt releases can be found in [GitHub Releases](https://github.com/paradedb/paradedb/releases/latest).

<Note>
  You can replace `0.21.9` with the `pg_search` version you wish to install and
  `17` with the version of Postgres you are using.
</Note>

<CodeGroup>

```bash Ubuntu 24.04
# Available arch versions are amd64, arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/postgresql-17-pg-search_0.21.9-1PARADEDB-noble_amd64.deb" -o /tmp/pg_search.deb
sudo apt-get install -y /tmp/*.deb
```

```bash Ubuntu 22.04
# Available arch versions are amd64, arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/postgresql-17-pg-search_0.21.9-1PARADEDB-jammy_amd64.deb" -o /tmp/pg_search.deb
sudo apt-get install -y /tmp/*.deb
```

```bash Debian 13
# Available arch versions are amd64, arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/postgresql-17-pg-search_0.21.9-1PARADEDB-trixie_amd64.deb" -o /tmp/pg_search.deb
sudo apt-get install -y /tmp/*.deb
```

```bash Debian 12
# Available arch versions are amd64, arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/postgresql-17-pg-search_0.21.9-1PARADEDB-bookworm_amd64.deb" -o /tmp/pg_search.deb
sudo apt-get install -y /tmp/*.deb
```

```bash RHEL 10
# Available arch versions are x86_64, aarch64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/pg_search_17-0.21.9-1PARADEDB.el10.x86_64.rpm" -o /tmp/pg_search.rpm
sudo dnf install -y /tmp/*.rpm
```

```bash RHEL 9
# Available arch versions are x86_64, aarch64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/pg_search_17-0.21.9-1PARADEDB.el9.x86_64.rpm" -o /tmp/pg_search.rpm
sudo dnf install -y /tmp/*.rpm
```

```bash macOS 15 (Sequoia)
# Available arch version is arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/pg_search@17--0.21.9.arm64_sequoia.pkg" -o ~/Downloads/pg_search.pkg
sudo installer -pkg ~/Downloads/pg_search.pkg -target /
```

```bash macOS 14 (Sonoma)
# Available arch version is arm64
curl -L "https://github.com/paradedb/paradedb/releases/download/v0.21.9/pg_search@17--0.21.9.arm64_sonoma.pkg" -o ~/Downloads/pg_search.pkg
sudo installer -pkg ~/Downloads/pg_search.pkg -target /
```

</CodeGroup>

### ParadeDB Enterprise

If you are a [ParadeDB Enterprise](/deploy/enterprise) user, you should have received a copy of the enterprise binaries. Please [contact sales](mailto:sales@paradedb.com) for access.

## Update `postgresql.conf`

Next, add the extension(s) to `shared_preload_libraries` in `postgresql.conf`. Adding `pg_search` to `shared_preload_libraries` is unnecessary if your Postgres version is 17 or higher.

```ini
shared_preload_libraries = 'pg_search'
```

Reload the Postgres server for these changes to take effect.

## Load the Extension

Finally, connect to your Postgres database via your client of choice (e.g. `psql`) and run the following command:

```sql
CREATE EXTENSION pg_search;
```

<Note>
  `pg_search` can be combined with `pgvector` for hybrid search. You can find
  the instructions for installing `pgvector` [on the `pgvector` GitHub
  repository](https://github.com/pgvector/pgvector?tab=readme-ov-file#installation).
</Note>
