diff --git a/_partials/_add-timescaledb-to-a-database.md b/_partials/_add-timescaledb-to-a-database.md
index 90b95c8216..077b21bc23 100644
--- a/_partials/_add-timescaledb-to-a-database.md
+++ b/_partials/_add-timescaledb-to-a-database.md
@@ -24,12 +24,13 @@
You see the list of installed extensions:
```sql
- List of installed extensions
- Name | Version | Schema | Description
- -------------+---------+------------+---------------------------------------------------------------------------------------
- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- timescaledb | 2.17.2 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ List of installed extensions
+ Name | Version | Default version | Schema | Description
+ -------------+---------+-----------------+------------+---------------------------------------------------------------------------------------
+ plpgsql | 1.0 | 1.0 | pg_catalog | PL/pgSQL procedural language
+ timescaledb | 2.24.0 | 2.24.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ (2 rows)
```
- Press q to exit the list of extensions.
+ Press `\q` to exit the list of extensions.
diff --git a/_partials/_install-self-hosted-debian-based-end.md b/_partials/_install-self-hosted-debian-based-end.md
index e23c37b330..c47bf17bc0 100644
--- a/_partials/_install-self-hosted-debian-based-end.md
+++ b/_partials/_install-self-hosted-debian-based-end.md
@@ -8,7 +8,7 @@
1. **Install TimescaleDB**
```bash
- sudo apt install timescaledb-2-postgresql-17 postgresql-client-17
+ sudo apt install timescaledb-2-postgresql-18 postgresql-client-18
```
To install a specific $TIMESCALE_DB [release][releases-page], set the version. For example:
diff --git a/_partials/_install-self-hosted-debian-based.md b/_partials/_install-self-hosted-debian-based.md
index 6eee0f6c05..3d7aceec89 100644
--- a/_partials/_install-self-hosted-debian-based.md
+++ b/_partials/_install-self-hosted-debian-based.md
@@ -58,7 +58,7 @@
1. **Install TimescaleDB**
```bash
- sudo apt install timescaledb-2-postgresql-17 postgresql-client-17
+ sudo apt install timescaledb-2-postgresql-18 postgresql-client-18
```
To install a specific $TIMESCALE_DB [release][releases-page], set the version. For example:
diff --git a/_partials/_install-self-hosted-docker-based.mdx b/_partials/_install-self-hosted-docker-based.mdx
index 322d565935..54c7776c5d 100644
--- a/_partials/_install-self-hosted-docker-based.mdx
+++ b/_partials/_install-self-hosted-docker-based.mdx
@@ -10,10 +10,10 @@
$TIMESCALE_DB experience. It uses [Ubuntu][ubuntu], includes
[$TOOLKIT_LONG](https://github.com/timescale/timescaledb-toolkit), and support for PostGIS and Patroni.
- To install the latest release based on $PG 17:
+ To install the latest release based on $PG 18:
```
- docker pull timescale/timescaledb-ha:pg17
+ docker pull timescale/timescaledb-ha:pg18
```
$TIMESCALE_DB is pre-created in the default $PG database and is added by default to any new database you create in this image.
@@ -22,11 +22,15 @@
Replace `` with the path to the folder you want to keep your data in the following command.
```
- docker run -d --name timescaledb -p 5432:5432 -v :/pgdata -e PGDATA=/pgdata -e POSTGRES_PASSWORD=password timescale/timescaledb-ha:pg17
+ docker run -d --name timescaledb -p 5432:5432 -v :/pgdata -e PGDATA=/pgdata -e POSTGRES_PASSWORD=password timescale/timescaledb-ha:pg18
```
-
+
If you are running multiple container instances, change the port each Docker instance runs on.
+
+ If you have a local $PG instance already running on port 5432, change the Docker port mapping to avoid conflicts. For example, use `-p 5433:5432` and adjust the connection string accordingly.
+
+
On UNIX-based systems, Docker modifies Linux IP tables to bind the container. If your system uses Linux Uncomplicated Firewall (UFW), Docker may
[override your UFW port binding settings][override-binding]. To prevent this, add `DOCKER_OPTS="--iptables=false"` to `/etc/default/docker`.
@@ -35,9 +39,11 @@
The default user and database are both `postgres`. You set the password in `POSTGRES_PASSWORD` in the previous step. The default command to connect to $PG is:
```bash
- psql -d "postgres://postgres:password@localhost/postgres"
+ psql -d "postgres://postgres:password@127.0.0.1:5432/postgres"
```
+ If you changed the port mapping in step 2 (e.g., to 5433), update the port in the connection string accordingly.
+
1. **Check that $TIMESCALE_DB is installed**
```sql
@@ -47,11 +53,11 @@
You see the list of installed extensions:
```sql
- Name | Version | Schema | Description
- ---------------------+---------+------------+---------------------------------------------------------------------------------------
- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- timescaledb | 2.20.3 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
- timescaledb_toolkit | 1.21.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
+ Name | Version | Default version | Schema | Description
+ ---------------------+---------+-----------------+------------+---------------------------------------------------------------------------------------
+ plpgsql | 1.0 | 1.0 | pg_catalog | PL/pgSQL procedural language
+ timescaledb | 2.24.0 | 2.24.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ timescaledb_toolkit | 1.22.0 | 1.22.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
(3 rows)
```
@@ -66,7 +72,7 @@ outside world, you can bind to `127.0.0.1` instead of the public interface, usin
```bash
docker run -d --name timescaledb -p 127.0.0.1:5432:5432 \
--v :/pgdata -e PGDATA=/pgdata -e POSTGRES_PASSWORD=password timescale/timescaledb-ha:pg17
+-v :/pgdata -e PGDATA=/pgdata -e POSTGRES_PASSWORD=password timescale/timescaledb-ha:pg18
```
If you don't want to install `psql` and other $PG client tools locally,
@@ -105,7 +111,7 @@ information, see the [Docker documentation on logs][docker-logs].
To install the latest release based on $PG 17:
```
- docker pull timescale/timescaledb:latest-pg17
+ docker pull timescale/timescaledb:latest-pg18
```
$TIMESCALE_DB is pre-created in the default $PG database and added by default to any new database you create in this image.
@@ -115,11 +121,15 @@ information, see the [Docker documentation on logs][docker-logs].
```
docker run -v :/pgdata -e PGDATA=/pgdata \
- -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg17
+ -d --name timescaledb -p 5432:5432 -e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg18
```
If you are running multiple container instances, change the port each Docker instance runs on.
+
+ If you have a local $PG instance already running on port 5432, change the Docker port mapping to avoid conflicts. For example, use `-p 5433:5432` and adjust the connection string accordingly.
+
+
On UNIX-based systems, Docker modifies Linux IP tables to bind the container. If your system uses Linux Uncomplicated Firewall (UFW), Docker may [override your UFW port binding settings][override-binding]. To prevent this, add `DOCKER_OPTS="--iptables=false"` to `/etc/default/docker`.
1. **Connect to a database on your $PG instance**
@@ -127,9 +137,11 @@ information, see the [Docker documentation on logs][docker-logs].
The default user and database are both `postgres`. You set the password in `POSTGRES_PASSWORD` in the previous step. The default command to connect to $PG in this image is:
```bash
- psql -d "postgres://postgres:password@localhost/postgres"
+ psql -d "postgres://postgres:password@127.0.0.1:5432/postgres"
```
+ If you changed the port mapping in step 2 (e.g., to 5433), update the port in the connection string accordingly.
+
1. **Check that $TIMESCALE_DB is installed**
```sql
@@ -139,10 +151,11 @@ information, see the [Docker documentation on logs][docker-logs].
You see the list of installed extensions:
```sql
- Name | Version | Schema | Description
- ---------------------+---------+------------+---------------------------------------------------------------------------------------
- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- timescaledb | 2.20.3 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ List of installed extensionsh
+ Name | Version | Default version | Schema | Description
+ -------------+---------+-----------------+------------+---------------------------------------------------------------------------------------
+ plpgsql | 1.0 | 1.0 | pg_catalog | PL/pgSQL procedural language
+ timescaledb | 2.24.0 | 2.24.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
```
Press `q` to exit the list of extensions.
@@ -155,7 +168,7 @@ outside world, you can bind to `127.0.0.1` instead of the public interface, usin
```bash
docker run -v :/pgdata -e PGDATA=/pgdata \
-d --name timescaledb -p 127.0.0.1:5432:5432 \
- -e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg17
+ -e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg18
```
If you don't want to install `psql` and other $PG client tools locally,
@@ -179,7 +192,7 @@ data volume using the `-v` flag:
```bash
docker run -d --name timescaledb -p 5432:5432 \
-v :/pgdata -e PGDATA=/pgdata \
--e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg17
+-e POSTGRES_PASSWORD=password timescale/timescaledb:latest-pg18
```
When you install $TIMESCALE_DB using a Docker container, the $PG settings
diff --git a/_partials/_install-self-hosted-homebrew-based.mdx b/_partials/_install-self-hosted-homebrew-based.mdx
index 7cdc2c6b56..aa8e690b25 100644
--- a/_partials/_install-self-hosted-homebrew-based.mdx
+++ b/_partials/_install-self-hosted-homebrew-based.mdx
@@ -1,65 +1,82 @@
-1. Install Homebrew, if you don't already have it:
+1. **Install Homebrew**
+ If homebrew is not already installed on your machine, run the following command:
```bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
```
For more information about Homebrew, including installation instructions,
see the [Homebrew documentation][homebrew].
-1. At the command prompt, add the $TIMESCALE_DB Homebrew tap:
+
+1. **Install and start $PG**
```bash
- brew tap timescale/tap
+ brew install postgresql@17
+ brew cleanup --prune-prefix
+ brew services start postgresql@17
```
-1. Install $TIMESCALE_DB and psql:
+1. **Add $PG to your path**
```bash
- brew install timescaledb libpq
+ echo 'export PATH="/opt/homebrew/opt/postgresql@17/bin:$PATH"' >> ~/.zshrc
+ source ~/.zshrc
```
-1. Update your path to include psql.
+1. **Add the $TIMESCALE_DB Homebrew tap**
```bash
- brew link --force libpq
+ brew tap timescale/tap
```
- On Intel chips, the symbolic link is added to `/usr/local/bin`. On Apple
- Silicon, the symbolic link is added to `/opt/homebrew/bin`.
+1. **Install $TIMESCALE_DB**
-1. Run the `timescaledb-tune` script to configure your database:
+ ```bash
+ brew install timescaledb
+ ```
+
+1. **Configure your database**
```bash
timescaledb-tune --quiet --yes
```
-1. Change to the directory where the setup script is located. It is typically,
- located at `/opt/homebrew/Cellar/timescaledb//bin/`, where
- `` is the version of `timescaledb` that you installed:
+1. **Run the setup script to complete installation**
- ```bash
- cd /opt/homebrew/Cellar/timescaledb//bin/
- ```
+ ```bash
+ $(brew --prefix)/Cellar/timescaledb/$(brew list --versions timescaledb | awk '{print $2}')/bin/timescaledb_move.sh
+ ```
+
+ This command automatically locates the correct version and runs the setup script.
+
+1. **Start the $PG service**
+
+ ```bash
+ brew services restart postgresql@17
+ ```
-1. Run the setup script to complete installation.
+1. **Verify $PG is running**
```bash
- ./timescaledb_move.sh
+ brew services list | grep postgresql
```
-1. **Log in to $PG as `postgres`**
+ You should see `postgresql@17` with status `started`.
+
+1. **Connect to $PG**
```bash
- sudo -u postgres psql
+ psql postgres
```
- You are in the psql shell.
-1. **Set the password for `postgres`**
+ You are now in the psql shell.
+
+1. **Set the password for your database user** (optional but recommended)
```bash
- \password postgres
+ \password
```
When you have set the password, type `\q` to exit psql.
diff --git a/_partials/_install-self-hosted-redhat-based.md b/_partials/_install-self-hosted-redhat-based.md
index 4a9acd069a..8d57767eba 100644
--- a/_partials/_install-self-hosted-redhat-based.md
+++ b/_partials/_install-self-hosted-redhat-based.md
@@ -75,7 +75,7 @@
To avoid errors, **do not** install $TDB_APACHE and $TDB_COMMUNITY at the same time.
```bash
- sudo yum install timescaledb-2-postgresql-17 postgresql17
+ sudo yum install timescaledb-2-postgresql-18 postgresql18
```
@@ -94,13 +94,13 @@
1. **Initialize the $PG instance**
```bash
- sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
+ sudo /usr/pgsql-18/bin/postgresql-18-setup initdb
```
1. **Tune your $PG instance for TimescaleDB**
```bash
- sudo timescaledb-tune --pg-config=/usr/pgsql-17/bin/pg_config
+ sudo timescaledb-tune --pg-config=/usr/pgsql-18/bin/pg_config
```
This script is included with the `timescaledb-tools` package when you install TimescaleDB.
@@ -109,8 +109,8 @@
1. **Enable and start $PG**
```bash
- sudo systemctl enable postgresql-17
- sudo systemctl start postgresql-17
+ sudo systemctl enable postgresql-18
+ sudo systemctl start postgresql-18
```
1. **Log in to $PG as `postgres`**
diff --git a/_partials/_install-self-hosted-redhat-rocky.md b/_partials/_install-self-hosted-redhat-rocky.md
index 3134a32b82..b5fc0f166b 100644
--- a/_partials/_install-self-hosted-redhat-rocky.md
+++ b/_partials/_install-self-hosted-redhat-rocky.md
@@ -4,19 +4,19 @@
To avoid errors, **do not** install $TDB_APACHE and $TDB_COMMUNITY at the same time.
```bash
- sudo dnf install -y postgresql16-server postgresql16-contrib timescaledb-2-postgresql-16
+ sudo dnf install -y postgresql18-server postgresql18-contrib timescaledb-2-postgresql-18
```
1. **Initialize the $PG instance**
```bash
- sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
+ sudo /usr/pgsql-18/bin/postgresql-18-setup initdb
```
1. **Tune your $PG instance for TimescaleDB**
```bash
- sudo timescaledb-tune --pg-config=/usr/pgsql-16/bin/pg_config
+ sudo timescaledb-tune --pg-config=/usr/pgsql-18/bin/pg_config
```
This script is included with the `timescaledb-tools` package when you install TimescaleDB.
@@ -25,8 +25,8 @@
1. **Enable and start $PG**
```bash
- sudo systemctl enable postgresql-16
- sudo systemctl start postgresql-16
+ sudo systemctl enable postgresql-18
+ sudo systemctl start postgresql-18
```
1. **Log in to $PG as `postgres`**
diff --git a/_partials/_install-self-hosted-redhat-x-platform.md b/_partials/_install-self-hosted-redhat-x-platform.md
index e643db95e7..e1508bc811 100644
--- a/_partials/_install-self-hosted-redhat-x-platform.md
+++ b/_partials/_install-self-hosted-redhat-x-platform.md
@@ -10,7 +10,7 @@
To avoid errors, **do not** install $TDB_APACHE and $TDB_COMMUNITY at the same time.
```bash
- sudo yum install timescaledb-2-postgresql-17 postgresql17
+ sudo yum install timescaledb-2-postgresql-18 postgresql18
```
@@ -29,13 +29,13 @@
1. **Initialize the $PG instance**
```bash
- sudo /usr/pgsql-17/bin/postgresql-17-setup initdb
+ sudo /usr/pgsql-18/bin/postgresql-18-setup initdb
```
1. **Tune your $PG instance for TimescaleDB**
```bash
- sudo timescaledb-tune --pg-config=/usr/pgsql-17/bin/pg_config
+ sudo timescaledb-tune --pg-config=/usr/pgsql-18/bin/pg_config
```
This script is included with the `timescaledb-tools` package when you install TimescaleDB.
@@ -44,8 +44,8 @@
1. **Enable and start $PG**
```bash
- sudo systemctl enable postgresql-17
- sudo systemctl start postgresql-17
+ sudo systemctl enable postgresql-18
+ sudo systemctl start postgresql-18
```
1. **Log in to $PG as `postgres`**
diff --git a/_partials/_install-self-hosted-source-based.mdx b/_partials/_install-self-hosted-source-based.mdx
index 5aabb85ef8..6d8555c9e3 100644
--- a/_partials/_install-self-hosted-source-based.mdx
+++ b/_partials/_install-self-hosted-source-based.mdx
@@ -18,7 +18,7 @@
our [Releases page][gh-releases]:
```bash
- git checkout 2.17.2
+ git checkout 2.24.0
```
This command produces an error that you are now in `detached head` state. It
diff --git a/_partials/_install-self-hosted-ubuntu.md b/_partials/_install-self-hosted-ubuntu.md
index b21e584d5e..690171ae90 100644
--- a/_partials/_install-self-hosted-ubuntu.md
+++ b/_partials/_install-self-hosted-ubuntu.md
@@ -5,6 +5,8 @@ import SelfHostedDebianEnd from "versionContent/_partials/_install-self-hosted-d
+1. **Add the $TIMESCALE_DB package**
+
```bash
echo "deb https://packagecloud.io/timescale/timescaledb/ubuntu/ $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/timescaledb.list
```
@@ -14,10 +16,11 @@ import SelfHostedDebianEnd from "versionContent/_partials/_install-self-hosted-d
```bash
wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/timescaledb.gpg
```
-
- For Ubuntu 21.10 and earlier use the following command:
- `wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -`
+ For Ubuntu 21.10 and earlier use the following command:
+ ```bash
+ wget --quiet -O - https://packagecloud.io/timescale/timescaledb/gpgkey | sudo apt-key add -
+ ```
diff --git a/_partials/_install-self-hosted-windows-based.mdx b/_partials/_install-self-hosted-windows-based.mdx
index 5740c67e0a..f8d6de536a 100644
--- a/_partials/_install-self-hosted-windows-based.mdx
+++ b/_partials/_install-self-hosted-windows-based.mdx
@@ -1,6 +1,5 @@
-
1. **Install the latest version of $PG and psql**
1. Download [$PG][pg-download], then run the installer.
@@ -25,28 +24,18 @@
1. Complete the installation wizard.
+ During installation, the wizard will prompt you to run the `timescaledb-tune` script to optimize your $PG configuration. It is recommended to accept this option. For more information, see [configuration][config].
+
If you see an error like `could not load library "C:/Program Files/PostgreSQL/17/lib/timescaledb-2.17.2.dll": The specified module could not be found.`, use
[Dependencies][dependencies] to ensure that your system can find the compatible DLLs for this release of TimescaleDB.
-1. **Tune your $PG instance for TimescaleDB**
-
- Run the `timescaledb-tune` script included in the `timescaledb-tools` package with TimescaleDB. For more
- information, see [configuration][config].
-
-1. **Log in to $PG as `postgres`**
-
- ```bash
- sudo -u postgres psql
- ```
- You are in the psql shell.
-
-1. **Set the password for `postgres`**
+1. **Restart the $PG service**
- ```bash
- \password postgres
+ ```powershell
+ Restart-Service postgresql-x64-18
```
- When you have set the password, type `\q` to exit psql.
+ Replace `18` with your $PG version if different.
diff --git a/_partials/_kubernetes-install-self-hosted.md b/_partials/_kubernetes-install-self-hosted.md
index a7cb427a09..1ed0019f70 100644
--- a/_partials/_kubernetes-install-self-hosted.md
+++ b/_partials/_kubernetes-install-self-hosted.md
@@ -9,13 +9,13 @@ To connect your Kubernetes cluster to $SELF_LONG running in the cluster:
1. Create the $COMPANY namespace:
```shell
- kubectl create namespace timescale
+ kubectl create namespace tigerdata
```
1. Set this namespace as the default for your session:
```shell
- kubectl config set-context --current --namespace=timescale
+ kubectl config set-context --current --namespace=tigerdata
```
For more information, see [Kubernetes Namespaces][kubernetes-namespace].
@@ -29,7 +29,7 @@ To connect your Kubernetes cluster to $SELF_LONG running in the cluster:
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
- name: timescale-pvc
+ name: tigerdata-pvc
spec:
accessModes:
- ReadWriteOnce
@@ -41,8 +41,9 @@ To connect your Kubernetes cluster to $SELF_LONG running in the cluster:
1. **Deploy $TIMESCALE_DB as a StatefulSet**
- By default, the [$TIMESCALE_DB Docker image][timescale-docker-image] you are installing on Kubernetes uses the
- default $PG database, user and password. To deploy $TIMESCALE_DB on Kubernetes, run the following command:
+ By default, the [$TIMESCALE_DB HA Docker image][timescale-ha-docker-image] you are installing on Kubernetes uses the
+ default $PG database, user and password. This image includes $TIMESCALE_DB and $TOOLKIT_LONG.
+ To deploy $TIMESCALE_DB on Kubernetes, run the following command:
```yaml
kubectl apply -f - <
diff --git a/_partials/_toolkit-install-update-debian-base.md b/_partials/_toolkit-install-update-debian-base.md
index 0e8d6fa2f6..f6c9d8e9a4 100644
--- a/_partials/_toolkit-install-update-debian-base.md
+++ b/_partials/_toolkit-install-update-debian-base.md
@@ -1,9 +1,3 @@
-## Prerequisites
-
-To follow this procedure:
-
-- [Install $TIMESCALE_DB][debian-install].
-- Add the $TIMESCALE_DB repository and the GPG key.
## Install $TOOLKIT_LONG
@@ -11,20 +5,25 @@ These instructions use the `apt` package manager.
-1. Update your local repository list:
+1. **Update your local repository list**
```bash
sudo apt update
```
-1. Install TimescaleDB Toolkit:
+1. **Install TimescaleDB Toolkit**
+
+ ```bash
+ sudo apt install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
```bash
- sudo apt install timescaledb-toolkit-postgresql-17
+ psql -d "postgres://:@:/"
```
-1. [Connect to the database][connection-info] where you want to use $TOOLKIT_SHORT.
-1. Create the $TOOLKIT_SHORT extension in the database:
+1. **Create the $TOOLKIT_SHORT extension in the database**
```sql
CREATE EXTENSION timescaledb_toolkit;
@@ -38,20 +37,25 @@ Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENS
-1. Update your local repository list:
+1. **Update your local repository list**
```bash
apt update
```
-1. Install the latest version of $TOOLKIT_LONG:
+1. **Install the latest version of $TOOLKIT_LONG**
+
+ ```bash
+ apt install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
```bash
- apt install timescaledb-toolkit-postgresql-17
+ psql -d "postgres://:@:/"
```
-1. [Connect to the database][connection-info] where you want to use the new version of $TOOLKIT_SHORT.
-1. Update the $TOOLKIT_SHORT extension in the database:
+1. **Update the $TOOLKIT_SHORT extension in the database**
```sql
ALTER EXTENSION timescaledb_toolkit UPDATE;
diff --git a/_partials/_toolkit-install-update-kubernetes-base.md b/_partials/_toolkit-install-update-kubernetes-base.md
new file mode 100644
index 0000000000..cb5a0598c2
--- /dev/null
+++ b/_partials/_toolkit-install-update-kubernetes-base.md
@@ -0,0 +1,41 @@
+## Install $TOOLKIT_LONG
+
+The $TOOLKIT_SHORT extension is pre-installed and pre-enabled when you
+[Install $TIMESCALE_DB on Kubernetes][kubernetes-install]. Once you start the container, the extension is already
+active in your database and ready to use. No additional installation steps are required.
+
+## Update $TOOLKIT_LONG
+
+To get the latest version of $TOOLKIT_SHORT, update the $TIMESCALE_DB HA Docker image used by your Kubernetes StatefulSet:
+
+
+
+1. **Update the StatefulSet to use the latest image**
+
+ Replace `` with the desired version tag. For example, `pg18`. You find the available tags on
+ the [$TIMESCALE_DB HA Docker Hub page][timescale-ha-tags].
+
+ ```shell
+ kubectl set image statefulset/timescaledb timescaledb=timescale/timescaledb-ha: -n tigerdata
+ ```
+
+ Kubernetes performs a rolling update, replacing the pod with the new image version.
+
+1. **Verify the new image is running**
+
+ ```shell
+ kubectl get statefulset timescaledb -n tigerdata -o jsonpath='{.spec.template.spec.containers[0].image}'
+ ```
+
+1. **Connect to your $TIMESCALE_DB pod and verify the extension versions**
+
+ ```shell
+ kubectl exec -it test-pod -- bash -c "psql -h \$PGHOST -U \$PGUSER -d \$PGDATABASE"
+ \dx
+ ```
+
+
+
+[kubernetes-install]: /self-hosted/:currentVersion:/install/installation-kubernetes/
+[connect]: /integrations/:currentVersion:/find-connection-details/
+[timescale-ha-tags]: https://hub.docker.com/r/timescale/timescaledb-ha/tags
diff --git a/_partials/_toolkit-install-update-redhat-base.md b/_partials/_toolkit-install-update-redhat-base.md
index 120cb2fd6d..24cf0c56d9 100644
--- a/_partials/_toolkit-install-update-redhat-base.md
+++ b/_partials/_toolkit-install-update-redhat-base.md
@@ -1,37 +1,34 @@
-
-## Prerequisites
-
-To follow this procedure:
-
-- [Install $TIMESCALE_DB][debian-install].
-- Create a $TIMESCALE_DB repository in your `yum` `repo.d` directory.
-
## Install $TOOLKIT_LONG
These instructions use the `yum` package manager.
-1. Set up the repository:
+1. **Set up the repository**
```bash
curl -s https://packagecloud.io/install/repositories/timescale/timescaledb/script.deb.sh | sudo bash
```
-1. Update your local repository list:
+1. **Update your local repository list**
```bash
yum update
```
-1. Install $TOOLKIT_LONG:
+1. **Install $TOOLKIT_LONG**
+
+ ```bash
+ yum install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
```bash
- yum install timescaledb-toolkit-postgresql-17
+ psql -d "postgres://:@:/"
```
-1. [Connect to the database][connection-info] where you want to use $TOOLKIT_SHORT.
-1. Create the $TOOLKIT_SHORT extension in the database:
+1. **Create the $TOOLKIT_SHORT extension in the database**
```sql
CREATE EXTENSION timescaledb_toolkit;
@@ -45,20 +42,25 @@ Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENS
-1. Update your local repository list:
+1. **Update your local repository list**
```bash
yum update
```
-1. Install the latest version of $TOOLKIT_LONG:
+1. **Install the latest version of $TOOLKIT_LONG**
+
+ ```bash
+ yum install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
```bash
- yum install timescaledb-toolkit-postgresql-17
+ psql -d "postgres://:@:/"
```
-1. [Connect to the database][connection-info] where you want to use the new version of $TOOLKIT_SHORT.
-1. Update the $TOOLKIT_SHORT extension in the database:
+1. **Update the $TOOLKIT_SHORT extension in the database**
```sql
ALTER EXTENSION timescaledb_toolkit UPDATE;
diff --git a/_partials/_toolkit-install-update-redhat-base.mdx b/_partials/_toolkit-install-update-redhat-base.mdx
new file mode 100644
index 0000000000..e6cff27841
--- /dev/null
+++ b/_partials/_toolkit-install-update-redhat-base.mdx
@@ -0,0 +1,82 @@
+## Install $TOOLKIT_LONG
+
+These instructions use the `yum` package manager.
+
+
+
+1. **Update your local repository list**
+
+ ```bash
+ sudo yum update
+ ```
+
+1. **Install $TOOLKIT_LONG**
+
+ ```bash
+ sudo yum install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Create the $TOOLKIT_SHORT extension in the database**
+
+ ```sql
+ CREATE EXTENSION timescaledb_toolkit;
+ ```
+
+
+
+## Update $TOOLKIT_LONG
+
+Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENSION`.
+
+
+
+1. **Update your local repository list**
+
+ ```bash
+ yum update
+ ```
+
+1. **Install the latest version of $TOOLKIT_LONG**
+
+ ```bash
+ yum install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Update the $TOOLKIT_SHORT extension in the database**
+
+ ```sql
+ ALTER EXTENSION timescaledb_toolkit UPDATE;
+ ```
+
+
+
+ For some $TOOLKIT_SHORT versions, you might need to disconnect and reconnect active
+ sessions.
+
+
+
+
+
+
+[brew-install]: https://brew.sh
+[cloud]: /use-timescale/:currentVersion:/services/
+[debian-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[docker-install]: /self-hosted/:currentVersion:/install/installation-docker/
+[mst]: /mst/:currentVersion:/
+[red-hat-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[toolkit-gh-docs]: https://github.com/timescale/timescaledb-toolkit#-installing-from-source
+[connect]: /integrations/:currentVersion:/find-connection-details/
+[update-docker]: /self-hosted/:currentVersion:/upgrades/upgrade-docker/
+[macos-install]: /self-hosted/:currentVersion:/install/installation-macos/
\ No newline at end of file
diff --git a/_partials/_toolkit-install-update-rocky-base.mdx b/_partials/_toolkit-install-update-rocky-base.mdx
new file mode 100644
index 0000000000..f5b3a79ff3
--- /dev/null
+++ b/_partials/_toolkit-install-update-rocky-base.mdx
@@ -0,0 +1,82 @@
+## Install $TOOLKIT_LONG
+
+These instructions use the `dnf` package manager.
+
+
+
+1. **Update your local repository list**
+
+ ```bash
+ sudo dnf update
+ ```
+
+1. **Install $TOOLKIT_LONG**
+
+ ```bash
+ sudo dnf install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Create the $TOOLKIT_SHORT extension in the database**
+
+ ```sql
+ CREATE EXTENSION timescaledb_toolkit;
+ ```
+
+
+
+## Update $TOOLKIT_LONG
+
+Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENSION`.
+
+
+
+1. **Update your local repository list**
+
+ ```bash
+ sudo dnf update
+ ```
+
+1. **Install the latest version of $TOOLKIT_LONG**
+
+ ```bash
+ sudo dnf install timescaledb-toolkit-postgresql-18
+ ```
+
+1. **Connect to the database where you want to use $TOOLKIT_SHORT**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Update the $TOOLKIT_SHORT extension in the database**
+
+ ```sql
+ ALTER EXTENSION timescaledb_toolkit UPDATE;
+ ```
+
+
+
+ For some $TOOLKIT_SHORT versions, you might need to disconnect and reconnect active
+ sessions.
+
+
+
+
+
+
+[brew-install]: https://brew.sh
+[cloud]: /use-timescale/:currentVersion:/services/
+[debian-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[docker-install]: /self-hosted/:currentVersion:/install/installation-docker/
+[mst]: /mst/:currentVersion:/
+[rocky-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[toolkit-gh-docs]: https://github.com/timescale/timescaledb-toolkit#-installing-from-source
+[connect]: /integrations/:currentVersion:/find-connection-details/
+[update-docker]: /self-hosted/:currentVersion:/upgrades/upgrade-docker/
+[macos-install]: /self-hosted/:currentVersion:/install/installation-macos/
diff --git a/_partials/_toolkit-install-update-source-base.mdx b/_partials/_toolkit-install-update-source-base.mdx
new file mode 100644
index 0000000000..efbf9eca8e
--- /dev/null
+++ b/_partials/_toolkit-install-update-source-base.mdx
@@ -0,0 +1,53 @@
+## Install $TOOLKIT_LONG
+
+To install $TOOLKIT_SHORT from source:
+
+
+
+1. **Build the extension from the latest source code**
+
+ Follow the build instructions in the [TimescaleDB Toolkit GitHub repository][toolkit-gh-install] to download and
+ build the latest version.
+
+1. **Connect to your database**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Update the Toolkit extension in the database**
+
+ ```bash
+ CREATE EXTENSION timescaledb_toolkit;
+ ```
+
+
+
+
+## Update $TOOLKIT_LONG
+
+To update $TOOLKIT_SHORT installed from source:
+
+
+
+1. **Build the extension from the latest source code**
+
+ Follow the build instructions in the [TimescaleDB Toolkit GitHub repository][toolkit-gh-install] to download and
+ build the latest version.
+
+1. **Connect to your database**
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+1. **Update the Toolkit extension in the database**
+
+ ```bash
+ ALTER EXTENSION timescaledb_toolkit UPDATE;
+ ```
+
+
+
+[toolkit-gh-install]: https://github.com/timescale/timescaledb-toolkit#-installing-from-source
+[source-install]: /self-hosted/:currentVersion:/install/installation-source/
diff --git a/_partials/_toolkit-uninstall-debian-base.mdx b/_partials/_toolkit-uninstall-debian-base.mdx
new file mode 100644
index 0000000000..d3bebb7b6c
--- /dev/null
+++ b/_partials/_toolkit-uninstall-debian-base.mdx
@@ -0,0 +1,48 @@
+## Uninstall $TOOLKIT_LONG
+
+If you no longer need $TOOLKIT_SHORT, you can remove it without uninstalling $TIMESCALE_DB or $PG.
+
+
+
+1. **Drop the $TOOLKIT_SHORT extension from your databases**
+
+ Connect to each database where $TOOLKIT_SHORT is enabled and remove the extension:
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+ Repeat this for all databases with $TOOLKIT_SHORT enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Uninstall the $TOOLKIT_SHORT package**
+
+ ```bash
+ sudo apt remove timescaledb-toolkit-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **(Optional) Remove dependencies**
+
+ To also remove unused dependencies:
+
+ ```bash
+ sudo apt autoremove
+ ```
+
+
+
+[debian-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[connect]: /integrations/:currentVersion:/find-connection-details/
diff --git a/_partials/_toolkit-uninstall-kubernetes-base.mdx b/_partials/_toolkit-uninstall-kubernetes-base.mdx
new file mode 100644
index 0000000000..d7eef53b10
--- /dev/null
+++ b/_partials/_toolkit-uninstall-kubernetes-base.mdx
@@ -0,0 +1,32 @@
+## Uninstall $TOOLKIT_LONG
+
+$TOOLKIT_SHORT is included in the TimescaleDB HA Docker image and cannot be uninstalled separately. To remove $TOOLKIT_SHORT, you need to remove the entire TimescaleDB deployment. See [Uninstall TimescaleDB from Kubernetes][uninstall-kubernetes].
+
+If you only want to remove the extension from a specific database without removing the deployment:
+
+
+
+1. **Connect to your TimescaleDB pod**
+
+ ```shell
+ kubectl exec -it test-pod -- bash -c "psql -h \$PGHOST -U \$PGUSER -d \$PGDATABASE"
+ ```
+
+1. **Drop the $TOOLKIT_SHORT extension**
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb_toolkit;
+ ```
+
+
+
+ Using `CASCADE` drops all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data
+ you want to keep.
+
+
+
+
+
+[uninstall-kubernetes]: /self-hosted/:currentVersion:/uninstall/
diff --git a/_partials/_toolkit-uninstall-redhat-base.mdx b/_partials/_toolkit-uninstall-redhat-base.mdx
new file mode 100644
index 0000000000..5ce840dc87
--- /dev/null
+++ b/_partials/_toolkit-uninstall-redhat-base.mdx
@@ -0,0 +1,48 @@
+## Uninstall $TOOLKIT_LONG
+
+If you no longer need $TOOLKIT_SHORT, you can remove it without uninstalling $TIMESCALE_DB or $PG.
+
+
+
+1. **Drop the $TOOLKIT_SHORT extension from your databases**
+
+ Connect to each database where $TOOLKIT_SHORT is enabled and remove the extension:
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+ Repeat this for all databases with $TOOLKIT_SHORT enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Uninstall the $TOOLKIT_SHORT package**
+
+ ```bash
+ sudo yum remove timescaledb-toolkit-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **(Optional) Remove dependencies**
+
+ To also remove unused dependencies:
+
+ ```bash
+ sudo yum autoremove
+ ```
+
+
+
+[red-hat-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[connect]: /integrations/:currentVersion:/find-connection-details/
diff --git a/_partials/_toolkit-uninstall-rocky-base.mdx b/_partials/_toolkit-uninstall-rocky-base.mdx
new file mode 100644
index 0000000000..23bfb2cd23
--- /dev/null
+++ b/_partials/_toolkit-uninstall-rocky-base.mdx
@@ -0,0 +1,48 @@
+## Uninstall $TOOLKIT_LONG
+
+If you no longer need $TOOLKIT_SHORT, you can remove it without uninstalling $TIMESCALE_DB or $PG.
+
+
+
+1. **Drop the $TOOLKIT_SHORT extension from your databases**
+
+ Connect to each database where $TOOLKIT_SHORT is enabled and remove the extension:
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+ Repeat this for all databases with $TOOLKIT_SHORT enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Uninstall the $TOOLKIT_SHORT package**
+
+ ```bash
+ sudo dnf remove timescaledb-toolkit-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **(Optional) Remove dependencies**
+
+ To also remove unused dependencies:
+
+ ```bash
+ sudo dnf autoremove
+ ```
+
+
+
+[rocky-install]: /self-hosted/:currentVersion:/install/installation-linux/
+[connect]: /integrations/:currentVersion:/find-connection-details/
diff --git a/_partials/_toolkit-uninstall-source-base.mdx b/_partials/_toolkit-uninstall-source-base.mdx
new file mode 100644
index 0000000000..5a5219e507
--- /dev/null
+++ b/_partials/_toolkit-uninstall-source-base.mdx
@@ -0,0 +1,31 @@
+## Uninstall $TOOLKIT_LONG
+
+If you installed $TOOLKIT_SHORT by building from source, you can uninstall it without removing $TIMESCALE_DB or $PG.
+
+
+
+1. **Drop the $TOOLKIT_SHORT extension from your databases**
+
+ Connect to each database where $TOOLKIT_SHORT is enabled and remove the extension:
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+ Repeat this for all databases with $TOOLKIT_SHORT enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data you want to keep.
+
+
+
+
+
+[source-install]: /self-hosted/:currentVersion:/install/installation-source/
diff --git a/self-hosted/configuration/configuration.md b/self-hosted/configuration/configuration.md
index 111b34b121..1134c53312 100644
--- a/self-hosted/configuration/configuration.md
+++ b/self-hosted/configuration/configuration.md
@@ -342,7 +342,7 @@ Alternatively, one or more parameters can be passed in to the `docker run`
command via a `-c` option, as in the following.
```bash
-docker run -i -t timescale/timescaledb:latest-pg10 postgres -cmax_wal_size=2GB
+docker run -i -t timescale/timescaledb:latest-pg18 postgres -cmax_wal_size=2GB
```
Additional examples of passing in arguments at boot can be found in our
diff --git a/self-hosted/configuration/docker-config.md b/self-hosted/configuration/docker-config.md
index 347b69008b..73dd2cae53 100644
--- a/self-hosted/configuration/docker-config.md
+++ b/self-hosted/configuration/docker-config.md
@@ -56,7 +56,7 @@ set parameters directly from the command prompt inside your Docker container,
using the `-c` option. For example:
```bash
-docker run -i -t timescale/timescaledb:latest-pg10 postgres -c max_wal_size=2GB
+docker run -i -t timescale/timescaledb:latest-pg18 postgres -c max_wal_size=2GB
```
[docker-install]: /self-hosted/:currentVersion:/install/installation-docker/
diff --git a/self-hosted/install/installation-cloud-image.md b/self-hosted/install/installation-cloud-image.md
index 513dee8401..5c9429bca4 100644
--- a/self-hosted/install/installation-cloud-image.md
+++ b/self-hosted/install/installation-cloud-image.md
@@ -39,8 +39,6 @@ supports public AMIs.
-## Installing $TIMESCALE_DB from a pre-build cloud image
-
1. Make sure you have an [Amazon Web Services account][aws-signup], and are
signed in to [your EC2 dashboard][aws-dashboard].
1. Navigate to `Images → AMIs`.
diff --git a/self-hosted/install/installation-linux.md b/self-hosted/install/installation-linux.md
index a7ef56205e..dc5ba13c73 100644
--- a/self-hosted/install/installation-linux.md
+++ b/self-hosted/install/installation-linux.md
@@ -39,9 +39,8 @@ $TIMESCALE_DB on a [supported platform][supported-platforms-link] using the pack
-If you have previously installed $PG without a package manager, you may encounter errors
-following these install instructions. Best practice is to fully remove any existing $PG
-installations before you begin.
+If you have previously installed $PG, you may encounter errors following these install instructions. Best
+practice is to fully remove any existing $PG installations before you begin.
To keep your current $PG installation, [Install from source][install-from-source].
diff --git a/self-hosted/install/installation-macos.md b/self-hosted/install/installation-macos.md
index ca0aaa8706..6604441cf5 100644
--- a/self-hosted/install/installation-macos.md
+++ b/self-hosted/install/installation-macos.md
@@ -27,11 +27,11 @@ This section shows you how to:
< TestingEnv />
-### Prerequisites
-To install TimescaleDB on your MacOS device, you need:
+## Install and configure $TIMESCALE_DB on $PG
-* [$PG][install-postgresql]: for the latest functionality, install $PG v16
+This section shows you how to install the latest version of $PG and
+$TIMESCALE_DB on a [supported platform][supported-platforms-link] using the packages supplied by $COMPANY.
@@ -43,10 +43,6 @@ To keep your current $PG installation, [Install from source][install-from-source
-## Install and configure $TIMESCALE_DB on $PG
-
-This section shows you how to install the latest version of $PG and
-$TIMESCALE_DB on a [supported platform][supported-platforms-link] using the packages supplied by $COMPANY.
diff --git a/self-hosted/install/installation-windows.md b/self-hosted/install/installation-windows.md
index cbc3487ca6..41fa08942e 100644
--- a/self-hosted/install/installation-windows.md
+++ b/self-hosted/install/installation-windows.md
@@ -42,9 +42,8 @@ $TIMESCALE_DB on a [supported platform][supported-platforms] using the packages
-If you have previously installed $PG without a package manager, you may encounter errors
-following these install instructions. Best practice is to full remove any existing $PG
-installations before you begin.
+If you have previously installed $PG, you may encounter errors following these install instructions.
+Best practice is to full remove any existing $PG installations before you begin.
To keep your current $PG installation, [Install from source][install-from-source].
diff --git a/self-hosted/page-index/page-index.js b/self-hosted/page-index/page-index.js
index 77b2806dba..c3bbc1c60a 100644
--- a/self-hosted/page-index/page-index.js
+++ b/self-hosted/page-index/page-index.js
@@ -217,14 +217,7 @@ module.exports = [
{
title: "Uninstall self-hosted TimescaleDB",
href: "uninstall",
- excerpt: "Uninstalling self-hosted TimescaleDB",
- children: [
- {
- title: "Uninstall self-hosted TimescaleDB on macOS",
- href: "uninstall-timescaledb",
- excerpt: "Uninstall self-hosted TimescaleDB on macOS",
- },
- ],
+ excerpt: "Uninstall self-hosted TimescaleDB without removing PostgreSQL",
},
{
title: "Troubleshooting self-hosted TimescaleDB",
diff --git a/self-hosted/tooling/install-toolkit.md b/self-hosted/tooling/install-toolkit.md
index 0b58a2b714..b256604efd 100644
--- a/self-hosted/tooling/install-toolkit.md
+++ b/self-hosted/tooling/install-toolkit.md
@@ -1,12 +1,20 @@
---
-title: Install and update TimescaleDB Toolkit
-excerpt: Install the TimescaleDB Toolkit extension to access more hyperfunctions and function pipelines
+title: Install, update, and uninstall TimescaleDB Toolkit
+excerpt: Install, update, and uninstall the TimescaleDB Toolkit extension to access more hyperfunctions and function pipelines
products: [self_hosted]
-keywords: [Toolkit, installation, hyperfunctions, function pipelines]
+keywords: [Toolkit, installation, uninstallation, hyperfunctions, function pipelines]
---
import ToolkitDebianBase from "versionContent/_partials/_toolkit-install-update-debian-base.mdx";
import ToolkitRedhatBase from "versionContent/_partials/_toolkit-install-update-redhat-base.mdx";
+import ToolkitRockyBase from "versionContent/_partials/_toolkit-install-update-rocky-base.mdx";
+import ToolkitKubernetesBase from "versionContent/_partials/_toolkit-install-update-kubernetes-base.mdx";
+import ToolkitSourceBase from "versionContent/_partials/_toolkit-install-update-source-base.mdx";
+import ToolkitDebianUninstall from "versionContent/_partials/_toolkit-uninstall-debian-base.mdx";
+import ToolkitRedhatUninstall from "versionContent/_partials/_toolkit-uninstall-redhat-base.mdx";
+import ToolkitRockyUninstall from "versionContent/_partials/_toolkit-uninstall-rocky-base.mdx";
+import ToolkitKubernetesUninstall from "versionContent/_partials/_toolkit-uninstall-kubernetes-base.mdx";
+import ToolkitSourceUninstall from "versionContent/_partials/_toolkit-uninstall-source-base.mdx";
# Install and update $TIMESCALE_DB Toolkit
@@ -21,61 +29,116 @@ If you're using [$CLOUD_LONG][cloud], the $TOOLKIT_LONG is already installed. If
pre-built binaries are available
* Building from source. For more information, see the [$TOOLKIT_SHORT developer documentation][toolkit-gh-docs]
+## Prerequisites
+
+To follow this procedure:
+
+- [Install $TIMESCALE_DB][install]
+
+
+
+## Install $TOOLKIT_LONG
+
+The $TOOLKIT_SHORT extension is pre-installed and pre-enabled when you
+[Install the $TIMESCALE_DB HA docker image from a Docker container][docker-install]. Once you
+start the container, the extension is already active in your database and ready to use. No additional
+installation steps are required.
+
+## Update $TOOLKIT_LONG
+
+To get the latest version of $TOOLKIT_SHORT, [update][update-docker] the $TIMESCALE_DB HA docker image.
+
+## Uninstall $TOOLKIT_LONG
+
+$TOOLKIT_SHORT is included in the $TIMESCALE_DB HA Docker image and cannot be uninstalled separately. To remove $TOOLKIT_SHORT, you need to remove the entire $TIMESCALE_DB container. See [Uninstall $TIMESCALE_DB from Docker][uninstall-docker].
+
+To remove the extension from a specific database without removing the container:
+
+
+
+1. **Connect to your database**
+
+ ```bash
+ docker exec -it timescaledb psql -U postgres -d
+ ```
+
+1. **Drop the $TOOLKIT_SHORT extension**
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+
+
+ Using `CASCADE` drops all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any
+ data you want to keep.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-## Install $TOOLKIT_LONG
+
-Best practice for $TOOLKIT_SHORT installation is to use the
-[TimescaleDB Docker image][timescaledb-docker-image].
-To get $TOOLKIT_SHORT, use the high availability image, `timescaledb-ha`:
+
-```bash
-docker pull timescale/timescaledb-ha:pg17
-```
+
-For more information on running $TIMESCALE_DB using Docker, see
-[Install TimescaleDB from a Docker container][docker-install].
+
-## Update $TOOLKIT_LONG
+
-To get the latest version of $TOOLKIT_SHORT, [update][update-docker] the $TIMESCALE_DB HA docker image.
+
-## Prerequisites
-
-To follow this procedure:
-
-- [Install $TIMESCALE_DB][macos-install].
-
## Install $TOOLKIT_LONG
These instructions use the `brew` package manager. For more information on
@@ -102,13 +165,31 @@ installing or using Homebrew, see [the `brew` homepage][brew-install].
brew install timescaledb-toolkit
```
-1. [Connect to the database][connection-info] where you want to use $TOOLKIT_SHORT.
+1. **Connect to $PG**
+
+ ```bash
+ psql postgres
+ ```
+
1. Create the $TOOLKIT_SHORT extension in the database:
```sql
CREATE EXTENSION timescaledb_toolkit;
```
+
+
+ If you encounter an error like `could not access file "$libdir/timescaledb_toolkit-X.XX.X"`, you may need to create a symlink from `.so` to `.dylib` format:
+
+ ```bash
+ ln -sf $(pg_config --pkglibdir)/timescaledb_toolkit-*.so \
+ $(pg_config --pkglibdir)/timescaledb_toolkit-*.dylib
+ ```
+
+ This is due to a known issue in the Homebrew formula where the library is installed with a `.so` extension, but $PG on macOS expects a `.dylib` extension.
+
+
+
## Update $TOOLKIT_LONG
@@ -129,7 +210,12 @@ Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENS
brew upgrade timescaledb-toolkit
```
-1. [Connect to the database][connection-info] where you want to use the new version of $TOOLKIT_SHORT.
+1. **Connect to $PG**
+
+ ```bash
+ psql postgres
+ ```
+
1. Update the $TOOLKIT_SHORT extension in the database:
```sql
@@ -144,16 +230,72 @@ Update $TOOLKIT_SHORT by installing the latest version and running `ALTER EXTENS
-
+
+## Uninstall $TOOLKIT_LONG
+
+If you no longer need $TOOLKIT_SHORT, you can remove it without uninstalling $TIMESCALE_DB or $PG.
+
+
+
+1. **Drop the $TOOLKIT_SHORT extension from your databases**
+
+ Connect to each database where $TOOLKIT_SHORT is enabled and remove the extension:
+
+ ```bash
+ psql -d "postgres://:@:/"
+ ```
+
+ At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION IF EXISTS timescaledb_toolkit CASCADE;
+ ```
+
+ Repeat this for all databases with $TOOLKIT_SHORT enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all objects that depend on the $TOOLKIT_SHORT extension. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Uninstall the $TOOLKIT_SHORT package**
+
+ ```bash
+ brew uninstall timescaledb-toolkit
+ ```
+
+1. **(Optional) Remove manual symlinks**
+
+ If you created a manual `.dylib` symlink as a workaround during installation, remove it:
+
+ ```bash
+ rm $(pg_config --pkglibdir)/timescaledb_toolkit-*.dylib 2>/dev/null || true
+ ```
+
+
+
+
+
+
+
+
+
+
+
[brew-install]: https://brew.sh
[cloud]: /use-timescale/:currentVersion:/services/
-[connection-info]: /integrations/:currentVersion:/find-connection-details/
+[install]: /self-hosted/:currentVersion:/install/
+[debian-install]: /self-hosted/:currentVersion:/install/installation-linux/
[docker-install]: /self-hosted/:currentVersion:/install/installation-docker/
-[macos-install]: /self-hosted/:currentVersion:/install/installation-macos/
-[timescaledb-docker-image]: https://github.com/timescale/timescaledb-docker-ha
+[mst]: /mst/:currentVersion:/
+[red-hat-install]: /self-hosted/:currentVersion:/install/installation-linux/
[toolkit-gh-docs]: https://github.com/timescale/timescaledb-toolkit#-installing-from-source
+[connect]: /integrations/:currentVersion:/find-connection-details/
[update-docker]: /self-hosted/:currentVersion:/upgrades/upgrade-docker/
+[macos-install]: /self-hosted/:currentVersion:/install/installation-macos/
+[uninstall-docker]: /self-hosted/:currentVersion:/uninstall/
\ No newline at end of file
diff --git a/self-hosted/uninstall.md b/self-hosted/uninstall.md
new file mode 100644
index 0000000000..bf427f99a9
--- /dev/null
+++ b/self-hosted/uninstall.md
@@ -0,0 +1,825 @@
+---
+title: Uninstall TimescaleDB
+excerpt: Uninstall TimescaleDB without uninstalling PostgreSQL
+products: [self_hosted]
+keywords: [uninstall]
+---
+
+# Uninstall TimescaleDB
+
+You can uninstall $TIMESCALE_DB without uninstalling $PG. Choose your platform below.
+
+
+
+
+
+If you installed $TIMESCALE_DB using Docker, you can completely remove the $TIMESCALE_DB container, image, and optionally the data volumes.
+
+
+
+1. **Stop the running container**
+
+ ```bash
+ docker stop timescaledb
+ ```
+
+ If you named your container differently when you created it, replace `timescaledb` with your container name.
+
+1. **Remove the container**
+
+ ```bash
+ docker rm timescaledb
+ ```
+
+ This removes the container but preserves the data volume and the Docker image.
+
+1. **List and remove the Docker image**
+
+ 1. See which $TIMESCALE_DB images you have installed:
+
+ ```bash
+ docker images | grep timescale
+ ```
+ You see something like:
+ ```bash
+ timescale/timescaledb-ha pg18 1ec79f20f47d 9 hours ago 6.2GB
+ ```
+
+ 1. Remove the $TIMESCALE_DB image:
+
+
+
+
+
+ ```bash
+ docker rmi timescale/timescaledb-ha:pg18
+ ```
+
+
+
+
+ ```bash
+ docker rmi timescale/timescaledb:latest-pg18
+ ```
+
+
+
+
+
+ Replace `pg18` with your $PG version.
+
+1. **(Optional) Remove the data**
+
+
+
+ This step permanently deletes all your database data. Only proceed if you're sure you no longer need this data or have backed it up.
+
+
+
+ List all Docker volumes:
+
+ ```bash
+ docker volume ls
+ ```
+
+ If you used a named volume when creating your container, remove it:
+
+ ```bash
+ docker volume rm
+ ```
+
+ If you used a host directory mount (with the `-v :/pgdata` flag), you can manually delete that directory:
+
+ ```bash
+ rm -rf
+ ```
+
+
+
+
+
+
+
+If you deployed $TIMESCALE_DB on Kubernetes, you can completely remove all associated resources including the StatefulSet, Service, PersistentVolumeClaim, Secret, and application deployments.
+
+
+
+1. **Back up any important data from your $TIMESCALE_DB instance**~~~~
+
+ ```shell
+ kubectl exec -it timescaledb-0 -- pg_dump -U postgres postgres > backup.sql
+ ```
+
+1. **If you created a test pod during installation, delete it**
+
+ ```shell
+ kubectl delete pod test-pod
+ ```
+
+1. **Remove any application deployments that connect to $TIMESCALE_DB**
+
+ ```shell
+ kubectl delete deployment tigerdata-app
+ ```
+
+1. **Remove the service that exposes $TIMESCALE_DB within the cluster**
+
+ ```shell
+ kubectl delete service timescaledb
+ ```
+
+1. **Delete the StatefulSet managing the $TIMESCALE_DB pods**
+
+ ```shell
+ kubectl delete statefulset timescaledb
+ ```
+
+ This terminates the $TIMESCALE_DB pod.
+
+1. **Delete the PersistentVolumeClaim**
+
+
+
+ Deleting the PersistentVolumeClaim permanently deletes all your database data. Ensure you have backed up any data
+ you need before proceeding.
+
+
+
+ ```shell
+ kubectl delete pvc tigerdata-pvc
+ ```
+
+1. **Remove the Kubernetes secret containing database credentials**
+
+ ```shell
+ kubectl delete secret tigerdata-secret
+ ```
+
+1. **(Optional) Delete the namespace**
+
+ If you created a dedicated namespace for $TIMESCALE_DB, you can remove it as well.
+
+
+
+ Only delete the namespace if you're certain no other resources are using it. This will delete all resources in the namespace.
+
+
+
+ ```shell
+ kubectl delete namespace tigerdata
+ ```
+
+
+
+
+
+
+
+
+Take the following steps to uninstall $TIMESCALE_DB based on your distribution:
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Connect to each database where $TIMESCALE_DB is enabled and remove the extension:
+
+ ```bash
+ sudo -u postgres psql -d
+ ```
+
+ 1. At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /etc/postgresql/18/main/postgresql.conf
+ ```
+
+ Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`.
+
+1. **Restart $PG**
+
+ ```bash
+ sudo systemctl restart postgresql
+ ```
+
+1. **Uninstall the $TIMESCALE_DB package**
+
+ ```bash
+ sudo apt remove timescaledb-2-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove the $TIMESCALE_DB repository configuration**
+
+ ```bash
+ sudo rm /etc/apt/sources.list.d/timescaledb.list
+ sudo rm /etc/apt/trusted.gpg.d/timescaledb.gpg
+ sudo apt update
+ ```
+
+1. **Remove dependencies**
+
+ Remove unused dependencies installed with $TIMESCALE_DB:
+
+
+
+ This step may also remove PostgreSQL as a dependency.
+
+
+
+ ```bash
+ sudo apt autoremove
+ ```
+
+
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Connect to each database where $TIMESCALE_DB is enabled and remove the extension:
+
+ ```bash
+ sudo -u postgres psql -d
+ ```
+
+ 1. At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /etc/postgresql/18/main/postgresql.conf
+ ```
+
+ Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`.
+
+1. **Restart $PG**
+
+ ```bash
+ sudo systemctl restart postgresql
+ ```
+
+1. **Uninstall the $TIMESCALE_DB package**
+
+ ```bash
+ sudo apt remove timescaledb-2-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove the $TIMESCALE_DB repository configuration**
+
+ ```bash
+ sudo rm /etc/apt/sources.list.d/timescaledb.list
+ sudo rm /etc/apt/trusted.gpg.d/timescaledb.gpg
+ sudo apt update
+ ```
+
+1. **Remove dependencies**
+
+ Remove unused dependencies installed with $TIMESCALE_DB:
+
+
+
+ This step may also remove PostgreSQL as a dependency.
+
+
+
+ ```bash
+ sudo apt autoremove
+ ```
+
+
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Connect to each database where $TIMESCALE_DB is enabled and remove the extension:
+
+ ```bash
+ sudo -u postgres psql -d
+ ```
+
+ 1. At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /var/lib/pgsql/18/data/postgresql.conf
+ ```
+
+ Press `/` to search, type `shared_preload_libraries`, and press Enter. Press `i` to edit. Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`. Press `Esc`, then type `:wq` and press Enter to save.
+
+1. **Restart $PG**
+
+ ```bash
+ sudo systemctl restart postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Uninstall the $TIMESCALE_DB package**
+
+ ```bash
+ sudo dnf remove timescaledb-2-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove the $TIMESCALE_DB repository configuration**
+
+ ```bash
+ sudo rm /etc/yum.repos.d/timescale_timescaledb.repo
+ ```
+
+1. **Remove dependencies**
+
+ Remove unused dependencies installed with $TIMESCALE_DB:
+
+
+
+ This step may also remove PostgreSQL as a dependency.
+
+
+
+ ```bash
+ sudo dnf autoremove
+ ```
+
+
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Connect to each database where $TIMESCALE_DB is enabled and remove the extension:
+
+ ```bash
+ sudo -u postgres psql -d
+ ```
+
+ 1. At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /var/lib/pgsql/18/data/postgresql.conf
+ ```
+
+ Press `/` to search, type `shared_preload_libraries`, and press Enter. Press `i` to edit. Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`.
+
+1. **Restart $PG**
+
+ ```bash
+ sudo systemctl restart postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Uninstall the $TIMESCALE_DB package**
+
+ ```bash
+ sudo dnf remove timescaledb-2-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove the $TIMESCALE_DB repository configuration**
+
+ ```bash
+ sudo rm /etc/yum.repos.d/timescale_timescaledb.repo
+ ```
+
+1. **Remove dependencies**
+
+ Remove unused dependencies installed with $TIMESCALE_DB:
+
+
+
+ This step may also remove PostgreSQL as a dependency.
+
+
+
+ ```bash
+ sudo dnf autoremove
+ ```
+
+
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Connect to each database where $TIMESCALE_DB is enabled and remove the extension:
+
+ ```bash
+ sudo -u postgres psql -d
+ ```
+
+ 1. At the `psql` prompt:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /var/lib/pgsql/18/data/postgresql.conf
+ ```
+
+ Press `/` to search, type `shared_preload_libraries`, and press Enter. Press `i` to edit. Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`. Press `Esc`, then type `:wq` and press Enter to save.
+
+1. **Restart $PG**
+
+ ```bash
+ sudo systemctl restart postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Uninstall the $TIMESCALE_DB package**
+
+ ```bash
+ sudo dnf remove timescaledb-2-postgresql-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove the $TIMESCALE_DB repository configuration**
+
+ ```bash
+ sudo rm /etc/yum.repos.d/timescale_timescaledb.repo
+ ```
+
+1. **Remove dependencies**
+
+ Remove unused dependencies installed with $TIMESCALE_DB:
+
+
+
+ This step may also remove PostgreSQL as a dependency.
+
+
+
+ ```bash
+ sudo dnf autoremove
+ ```
+
+
+
+
+
+
+
+
+
+
+
+Uninstall $SELF_LONG with Homebrew or MacPorts.
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ At the `psql` prompt, remove the $TIMESCALE_DB extension:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+2.
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ Edit the $PG configuration file:
+
+ ```bash
+ sudo vi /opt/homebrew/var/postgresql@17/postgresql.conf
+ ```
+
+ Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`.
+
+
+1. **Restart $PG**
+
+ ```bash
+ brew services restart postgresql@17
+ ```
+
+1. **Uninstall $TIMESCALE_DB**
+
+ ```bash
+ brew uninstall timescaledb-tools timescaledb
+ ```
+
+1. **Remove all the dependencies and related files**
+
+ ```bash
+ brew untap timescale/tap
+ ```
+
+
+
+
+
+
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ At the `psql` prompt, remove the $TIMESCALE_DB extension:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ At the command prompt, remove `timescaledb` from `shared_preload_libraries` in the `postgresql.conf` configuration file:
+
+ ```bash
+ nano /opt/homebrew/var/postgresql@14/postgresql.conf
+ shared_preload_libraries = ''
+ ```
+
+1. **Save the changes to the `postgresql.conf` file**
+1. **Restart $PG**
+
+ ```bash
+ port reload postgresql
+ ```
+
+1. **Uninstall $TIMESCALE_DB and the related dependencies**
+
+ ```bash
+ port uninstall timescaledb --follow-dependencies
+ ```
+
+
+
+
+
+
+
+
+
+
+
+If you installed $TIMESCALE_DB on Windows using a package manager, you can uninstall it without removing $PG.
+
+
+
+1. **Drop the $TIMESCALE_DB extension from your databases**
+
+ 1. Open Command Prompt or PowerShell and connect to each database where $TIMESCALE_DB is enabled:
+
+ ```bash
+ psql -U postgres -d
+ ```
+
+ 1. At the `psql` prompt, remove the extension:
+
+ ```sql
+ DROP EXTENSION timescaledb CASCADE;
+ ```
+
+ Repeat this for all databases with $TIMESCALE_DB enabled. To exit psql, type `\q`.
+
+
+
+ Using `CASCADE` will drop all $TIMESCALE_DB-specific objects including hypertables, continuous aggregates, and retention policies. Ensure you have backed up any data you want to keep.
+
+
+
+1. **Remove $TIMESCALE_DB from `shared_preload_libraries`**
+
+ 1. Open your $PG configuration file. The default location is:
+
+ ```
+ C:\Program Files\PostgreSQL\\data\postgresql.conf
+ ```
+
+ You may need to run the editor as Administrator.
+
+ 1. Find the line with `shared_preload_libraries` and remove `timescaledb` from the list. For example, change:
+
+ ```
+ shared_preload_libraries = 'timescaledb'
+ ```
+
+ to:
+
+ ```
+ shared_preload_libraries = ''
+ ```
+
+ If there are other extensions in the list, keep them and only remove `timescaledb`.
+
+ 1. Save the file.
+
+1. **Restart $PG**
+
+ ```powershell
+ Restart-Service postgresql-x64-18
+ ```
+
+ Replace `18` with your $PG version if different.
+
+1. **Remove $TIMESCALE_DB binaries**
+
+ Manually remove the $TIMESCALE_DB files from your $PG installation directory.
+
+ 1. Remove $TIMESCALE_DB library files. You may need to run PowerShell as Administrator:
+
+ ```powershell
+ Remove-Item "C:\Program Files\PostgreSQL\18\lib\timescaledb*.dll"
+ ```
+
+ Replace `18` with your $PG version if different.
+
+ 1. Remove $TIMESCALE_DB extension files:
+
+ ```powershell
+ Remove-Item -Recurse "C:\Program Files\PostgreSQL\18\share\extension\timescaledb*"
+ ```
+
+ Replace `18` with your $PG version if different.
+
+
+
+ If you encounter permission errors, ensure you're running PowerShell as Administrator.
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/self-hosted/uninstall/index.md b/self-hosted/uninstall/index.md
deleted file mode 100644
index 4fca286513..0000000000
--- a/self-hosted/uninstall/index.md
+++ /dev/null
@@ -1,15 +0,0 @@
----
-title: Uninstall TimescaleDB
-excerpt: Uninstall TimescaleDB without uninstalling Postgres
-products: [self_hosted]
-keywords: [Uninstall]
----
-
-# Uninstall TimescaleDB
-
-If you want to uninstall TimescaleDB because it does not meet your requirements,
-you can uninstall it without having to uninstall $PG.
-
-* [Learn how to uninstall][uninstall-timescaledb] TimescaleDB in macOS
-
-[uninstall-timescaledb]: /self-hosted/:currentVersion:/uninstall/
diff --git a/self-hosted/uninstall/uninstall-timescaledb.md b/self-hosted/uninstall/uninstall-timescaledb.md
deleted file mode 100644
index 95a62b7af3..0000000000
--- a/self-hosted/uninstall/uninstall-timescaledb.md
+++ /dev/null
@@ -1,113 +0,0 @@
----
-title: Uninstall TimescaleDB
-excerpt: Uninstall TimescaleDB installed with Homebrew or MacPorts without having to uninstall Postgres
-products: [self_hosted]
-keywords: [uninstall]
----
-
-# Uninstall TimescaleDB
-
-$PG is designed to be easily extensible. The extensions loaded into the
-database can function just like features that are built in. TimescaleDB extends
-$PG for time-series data, giving $PG the high-performance,
-scalability, and analytical capabilities required by modern data-intensive
-applications. If you installed TimescaleDB with Homebrew or MacPorts, you can
-uninstall it without having to uninstall $PG.
-
-
-
-## Uninstalling TimescaleDB using Homebrew
-
-1. At the `psql` prompt, remove the TimescaleDB extension:
-
- ```sql
- DROP EXTENSION timescaledb;
- ```
-
-1. At the command prompt, remove `timescaledb` from `shared_preload_libraries`
- in the `postgresql.conf` configuration file:
-
- ```bash
- nano /opt/homebrew/var/postgresql@14/postgresql.conf
- shared_preload_libraries = ''
- ```
-
-1. Save the changes to the `postgresql.conf` file.
-
-1. Restart $PG:
-
- ```bash
- brew services restart postgresql
- ```
-
-1. Check that the TimescaleDB extension is uninstalled by using the `\dx`
- command at the `psql` prompt. Output is similar to:
-
- ```sql
- tsdb-# \dx
- List of installed extensions
- Name | Version | Schema | Description
- -------------+---------+------------+-------------------------------------------------------------------
- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- (1 row)
- ```
-
-1. Uninstall TimescaleDB:
-
- ```bash
- brew uninstall timescaledb
- ```
-
-1. Remove all the dependencies and related files:
-
- ```bash
- brew remove timescaledb
- ```
-
-
-
-
-
-## Uninstalling TimescaleDB using MacPorts
-
-1. At the `psql` prompt, remove the TimescaleDB extension:
-
- ```sql
- DROP EXTENSION timescaledb;
- ```
-
-1. At the command prompt, remove `timescaledb` from `shared_preload_libraries`
- in the `postgresql.conf` configuration file:
-
- ```bash
- nano /opt/homebrew/var/postgresql@14/postgresql.conf
- shared_preload_libraries = ''
- ```
-
-1. Save the changes to the `postgresql.conf` file.
-
-1. Restart $PG:
-
- ```bash
- port reload postgresql
- ```
-
-1. Check that the TimescaleDB extension is uninstalled by using the `\dx`
- command at the `psql` prompt. Output is similar to:
-
- ```sql
- tsdb-# \dx
- List of installed extensions
- Name | Version | Schema | Description
- -------------+---------+------------+-------------------------------------------------------------------
- plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- (1 row)
- ```
-
-1. Uninstall TimescaleDB and the related dependencies:
-
- ```bash
- port uninstall timescaledb --follow-dependencies
- ```
-
-
diff --git a/self-hosted/upgrades/upgrade-docker.md b/self-hosted/upgrades/upgrade-docker.md
index 4c3f0e1ca5..3949e3793f 100644
--- a/self-hosted/upgrades/upgrade-docker.md
+++ b/self-hosted/upgrades/upgrade-docker.md
@@ -93,10 +93,10 @@ data.
1. **Pull the latest $TIMESCALE_DB image**
- This command pulls the latest version of $TIMESCALE_DB running on $PG 17:
+ This command pulls the latest version of $TIMESCALE_DB running on $PG 18:
```
- docker pull timescale/timescaledb-ha:pg17
+ docker pull timescale/timescaledb-ha:pg18
```
If you're using another version of $PG, look for the relevant tag in the [$TIMESCALE_DB HA][timescale_db-ha] repository on Docker Hub.
@@ -118,7 +118,7 @@ data.
```bash
docker run -v :/pgdata -e PGDATA=/pgdata
- -d --name timescaledb -p 5432:5432 timescale/timescaledb-ha:pg17
+ -d --name timescaledb -p 5432:5432 timescale/timescaledb-ha:pg18
```
@@ -127,7 +127,7 @@ data.
```bash
docker run -v :/pgdata -e PGDATA=/pgdata -d --name timescaledb \
- -p 5432:5432 timescale/timescaledb-ha:pg17
+ -p 5432:5432 timescale/timescaledb-ha:pg18
```
@@ -168,10 +168,10 @@ If you have multiple databases, update each database separately.
1. **Pull the latest $TIMESCALE_DB image**
- This command pulls the latest version of $TIMESCALE_DB running on $PG 17.
+ This command pulls the latest version of $TIMESCALE_DB running on $PG 18.
```
- docker pull timescale/timescaledb:latest-pg17
+ docker pull timescale/timescaledb:latest-pg18
```
If you're using another version of $PG, look for the relevant tag in the [TimescaleDB light][timescaledb-light] repository on Docker Hub.
@@ -193,7 +193,7 @@ If you have multiple databases, update each database separately.
```bash
docker run -v :/pgdata -e PGDATA=/pgdata \
- -d --name timescaledb -p 5432:5432 timescale/timescaledb:latest-pg17
+ -d --name timescaledb -p 5432:5432 timescale/timescaledb:latest-pg18
```
@@ -202,7 +202,7 @@ If you have multiple databases, update each database separately.
```bash
docker run -v :/pgdata -e PGDATA=/pgdata -d --name timescaledb \
- -p 5432:5432 timescale/timescaledb:latest-pg17
+ -p 5432:5432 timescale/timescaledb:latest-pg18
```
diff --git a/use-timescale/extensions/pgcrypto.md b/use-timescale/extensions/pgcrypto.md
index b96d13e061..1818da3af4 100644
--- a/use-timescale/extensions/pgcrypto.md
+++ b/use-timescale/extensions/pgcrypto.md
@@ -45,8 +45,8 @@ precious your data is and safeguards sensitive information.
pg_stat_statements | 1.10 | public | track planning and execution statistics of all SQL statements executed
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
- timescaledb | 2.11.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
- timescaledb_toolkit | 1.16.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
+ timescaledb | 2.24.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ timescaledb_toolkit | 1.22.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
```
1. Create a table named `user_passwords`:
diff --git a/use-timescale/extensions/postgis.md b/use-timescale/extensions/postgis.md
index 7e6258c674..ad668c51e2 100644
--- a/use-timescale/extensions/postgis.md
+++ b/use-timescale/extensions/postgis.md
@@ -47,8 +47,8 @@ particular location.
pgcrypto | 1.3 | public | cryptographic functions
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
postgis | 3.3.3 | public | PostGIS geometry and geography spatial types and functions
- timescaledb | 2.11.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
- timescaledb_toolkit | 1.16.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
+ timescaledb | 2.24.0 | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
+ timescaledb_toolkit | 1.22.0 | public | Library of analytical hyperfunctions, time-series pipelining, and other SQL utilities
(6 rows)
```