Postgres has a rich ecosystem of extensions. To keep the size of the ParadeDB Dockerfile small, only the ParadeDB extensions — pg_search and pg_analytics — and a limited set of third party extensions are included:

  • pg_search for full text search
  • pg_analytics for fast queries over data lakes
  • pgvector for vector search
  • postgis for geospatial search
  • pg_ivm for incremental materialized views
  • pg_cron for cron jobs

pg_cron is configured on the default postgres database and cannot be changed.

However, additional Postgres extensions can be installed inside existing ParadeDB Docker and Kubernetes deployments.

Installing Third Party Extensions

The process for installing an extension varies by extension. Generally speaking, it requires:

  • Download the prebuilt binaries inside ParadeDB
  • Install the extension binary and any dependencies inside ParadeDB
  • Add the extension to shared_preload_libraries in postgresql.conf, if required by the extension
  • Run CREATE EXTENSION <extension name>

We recommend installing third party extensions from prebuilt binaries to keep the image size small. As an example, let’s install pg_partman, an extension for managing table partition sets.

Install Prebuilt Binaries

First, enter a shell with root permissions in the ParadeDB image.

docker exec -it --user root paradedb bash

This command assumes that your ParadeDB container name is paradedb.

Next, install the prebuilt binaries. Most popular Postgres extensions can be installed with apt-get install.

apt-get update
apt-get install -y --no-install-recommends postgresql-16-partman

If the extension is not available with apt-get install, you can usually curl the prebuilt binary from a GitHub Release page. You will need to first install curl via apt-get install if you are taking this approach.

Add to shared_preload_libraries

Postgres must be restarted afterwards. We recommend simply restarting the Docker container.

Create the Extension

Connect to ParadeDB via psql and create the extension.

CREATE EXTENSION pg_partman;

pg_partman is now ready to use!

Note that this is a simple example of installing pg_partman. The full list of settings and optional dependencies can be found in the official installation instructions.