---
title: Upgrading ParadeDB
description: Upgrade ParadeDB to a newer version
canonical: https://www.paradedb.com/docs/operate/deploy/upgrading
---
## Overview
ParadeDB ships its functionality packaged as a Postgres extension, `pg_search`. To upgrade, first install the new extension binary, then update the extension in the Postgres catalog.
ParadeDB uses `pgvector`'s vector types for [native vector
search](/reference/vector/overview). This extension is not managed by
ParadeDB. Please refer to the [pgvector
documentation](https://github.com/pgvector/pgvector?tab=readme-ov-file#upgrading)
for instructions on how to upgrade it.
## Getting the Current Version
To inspect the current version of the extension, run the following command.
```sql
SELECT extversion FROM pg_extension WHERE extname = 'pg_search';
```
Verify that it matches `paradedb.version_info()`:
```sql
SELECT * FROM paradedb.version_info();
```
The reason that there are two statements is because `paradedb.version_info()` is the actual version of the `pg_search` binary that is installed,
whereas `pg_extension` is what Postgres' catalog thinks the version of the extension is.
If `paradedb.version_info()` is greater than `pg_extension`, it means that `ALTER EXTENSION` was not run after the previous upgrade, and that the SQL upgrade scripts were not applied.
If `pg_extension` is greater than `paradedb.version_info()`, it means that the extension didn't fully upgrade, and that Postgres needs to be restarted.
## Getting the Latest Version
The latest version of `pg_search` is `0.26.0`. The list of available `pg_search` versions can be found on our [GitHub releases page](https://github.com/paradedb/paradedb/releases).
## Upgrading the ParadeDB Binary
To upgrade `pg_search` in a cluster deployed with the ParadeDB Helm chart:
1. Refresh the local chart repository index.
```bash
helm repo update paradedb
```
2. List the available chart versions.
```bash
helm search repo paradedb/paradedb --versions
```
3. Choose a chart version and a ParadeDB extension version. The chart version
and extension version are separate: `--version` selects the Helm chart,
while `version.paradedb` selects the ParadeDB version deployed by that chart.
4. Upgrade the existing Helm release, preserving its configured values and
setting the new ParadeDB version.
```bash
helm upgrade paradedb paradedb/paradedb \
--namespace paradedb \
--reuse-values \
--version \
--set-string version.paradedb= \
--atomic
```
Replace `` and `` with your chosen versions.
Use your existing release name and namespace if they differ from `paradedb`.
To upgrade the ParadeDB Docker image while preserving your data volume:
1. Stop the ParadeDB Docker image via `docker stop paradedb`.
2. Run the following command to pull a specific version of the Docker image. You can find the full list of available tags on [Docker Hub](https://hub.docker.com/r/paradedb/paradedb/tags).
```bash
docker pull paradedb/paradedb:0.26.0
```
3. Start the new ParadeDB Docker image via `docker run paradedb`.
To upgrade the extension running in a self-managed Postgres:
1. Stop Postgres (e.g. `pg_ctl stop -D `).
2. Download and install the extension version you wish to upgrade to in the same way that it was initially installed.
3. Start Postgres (e.g. `pg_ctl start -D `).
## Upgrading the PostgreSQL Catalog
After the ParadeDB binary has been upgraded, connect to it and run the following command in all databases that `pg_search` is installed in. This step is required regardless of the environment that ParadeDB is installed in.
```sql
ALTER EXTENSION pg_search UPDATE TO '0.26.0';
```
## Verifying the Upgrade
After upgrading the extension and restarting Postgres, verify that the version numbers returned by the following commands match:
```sql
SELECT extversion FROM pg_extension WHERE extname = 'pg_search';
SELECT * FROM paradedb.version_info();
```
If the two versions do not match, restart Postgres and try again.