> For the complete documentation index, see [llms.txt](https://docs.datasentinel.io/manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.datasentinel.io/manual/implementation/upgrade/platform.md).

# Platform

Procedure to upgrade your on-premises platform.

{% hint style="info" %}
All releases are cumulative. Upgrading to the latest version includes all previous changes, so it's sufficient to install or run only the most recent release—even when upgrading from an older version.
{% endhint %}

{% hint style="info" %}
Platform and agents can be upgraded separately.

A new platform is compatible with old and new agent versions, ensuring smooth operation both ways.
{% endhint %}

Each release comes with a minimum required version of the agent to supports the new features.

### Download File

| Date       | Latest available platform version |                                            |
| ---------- | --------------------------------- | ------------------------------------------ |
| 2026-11-02 | **2026.10**                       | [Release Notes](/manual/changelog/2026.md) |

Download the latest patch of the platform

* [RedHat Centos7](https://app.datasentinel.io/ds-api/download/patch-datasentinel-rhel7-latest.tar.gz)
* [RedHat/Rocky linux/AlmaLinux 8](https://app.datasentinel.io/ds-api/download/patch-datasentinel-rocky8-latest.tar.gz)
* [RedHat/Rocky linux/AlmaLinux 9/SLES 15](https://app.datasentinel.io/ds-api/download/patch-datasentinel-rhel9-latest.tar.gz)
* [Debian Bullseye](https://app.datasentinel.io/ds-api/download/patch-datasentinel-debian-bullseye-latest.tar.gz)

*The file size is approximately 460 MB.*

### Platform Upgrade

* Uncompress the downloaded file

```bash
tar xvzf patch-datasentinel.tar.gz
```

* 5 files are created

  > * `patch_datasentinel.sh`
  > * `update-datasentinel.tar.gz`
  > * `dump_grafana.sql`
  > * `update_postgresql.sh` (see [Embedded PostgreSQL upgrade](#embedded-postgresql-upgrade))
  > * `postgres-bin.tar.gz`
* Run the shell script

{% hint style="warning" %}
The script must be run as Datasentinel owner
{% endhint %}

*Your confirmation is needed.*

#### The script does several actions

* Stop backend components
* Backup old version
* Replace necessary files
* Update Grafana dashboards
* Start backend components

{% hint style="info" %}
The script runs in a few seconds. At the end, Datasentinel should be UP and RUNNING
{% endhint %}

A log file **`/tmp/update_datasentinel_<<VERSION>>.log`** is created

{% hint style="danger" %}
If you have some **“Dashboard not found”** errors in the UI after upgrading (which should not happen), It means that new dashboards have not been registered correctly.

Follow this procedure to fix it: [UI dashboard is encountering loading errors](/manual/implementation/troubleshooting/ui-dashboard-is-encountering-loading-errors.md)
{% endhint %}

{% code title="Output example" %}

```
----------------------------
Updating Datasentinel
----------------------------
Do you want to continue installing version 2021.02? (Y/[N]) : Y
Logfile created : update_datasentinel_2021.02.log
----------------------------------------
Stopping backend and dispatcher services
----------------------------------------
----------------------------------------------------------
Uncompressing patch version 2021.02, please wait...
----------------------------------------------------------
----------------------------
Services status
----------------------------
datasentinel_backend.service                                       loaded active running   Datasentinel backend API
datasentinel_dispatcher.service                                    loaded active running   Datasentinel Agentless
datasentinel_grafana.service                                       loaded active running   Datasentinel grafana daemon
datasentinel_influxdb.service                                      loaded active running   InfluxDB service
datasentinel_postgresql.service                                    loaded active running   Datasentinel PostgreSQL instance
nginx.service                                                      loaded active running   nginx - high performance web server
-------------------------------------------
Updating grafana dashboards, please wait...
-------------------------------------------
----------------------------
Datasentinel update finished
----------------------------
{
"status": "OK",
"message": "Datasentinel Backend up and running",
"datasentinel_version": "2023.05",
"services": [
   {
      "name": "nginx",
      "description": "Nginx web server",
      "running": true
   },
   {
      "name": "datasentinel_grafana",
      "description": "Grafana frontend",
      "running": true
   },
   {
      "name": "datasentinel_postgresql",
      "description": "PostgreSQL instance",
      "running": true
   },
   {
      "name": "datasentinel_backend",
      "description": "Backend service and API",
      "running": true
   },
   {
      "name": "datasentinel_dispatcher",
      "description": "Agentless service",
      "running": true
   },
   {
      "name": "datasentinel_influxdb",
      "description": "Influxdb database",
      "running": true
   }
]
}
```

{% endcode %}

### Embedded PostgreSQL Upgrade

The platform embeds a PostgreSQL instance, used as the metadata database of Grafana. It is not exposed on the network and holds no data from your monitored instances.

Since version **2026.10**, the platform ships [**PostgreSQL 15.19**](https://www.postgresql.org/docs/15/release-15-19.html), which includes the bug and security fixes of all the 15.x minor releases since 15.5. New installations come with it. On an existing platform, the embedded PostgreSQL is **not** updated by `patch_datasentinel.sh`: when it detects an older version, the patch ends with this message:

```
==========================================================================
ACTION REQUIRED: the embedded PostgreSQL (Grafana metadata database) is 15.5.
This patch ships PostgreSQL 15.19 (bug and security fixes).
To update it, run as datasentinel, from this directory:
  ./update_postgresql.sh
Grafana is unavailable for about a minute. Metrics collection and alerting
are not affected.
==========================================================================
```

You choose when to run it. It is a **minor** PostgreSQL update: the binaries are replaced, the data directory is kept as is.

{% hint style="warning" %}
The script must be run as Datasentinel owner, from the directory where the patch was uncompressed (it needs `postgres-bin.tar.gz`).
{% endhint %}

```bash
./update_postgresql.sh
```

*Your confirmation is needed. Use `-f` to run it without confirmation.*

#### The script does several actions

* Extract PostgreSQL 15.19 and check its version
* Stop Grafana and PostgreSQL
* Replace the binaries
* Start PostgreSQL and Grafana

{% hint style="info" %}
Grafana, and so the web interface, is unavailable for about a minute. Metrics collection, agentless monitoring and alerting are not affected.

If the new PostgreSQL does not start, the script restores the previous binaries and restarts it: the platform is left as it was.
{% endhint %}

A log file **`/tmp/update_postgresql_15.19.log`** is created.

The previous binaries are kept in `/datasentinel/soft/postgres-bin.15.5.unused` until the next update. Running the script again reports that the embedded PostgreSQL is already up to date.

{% code title="Output example" %}

```
==========================================================
 Datasentinel - embedded PostgreSQL update to 15.19
==========================================================
Log file: /tmp/update_postgresql_15.19.log

Embedded PostgreSQL : 15.5 -> 15.19
Data directory      : /datasentinel/data/pgdata (kept as is)
Grafana is stopped during the update, for about a minute.
Metrics collection and alerting are not affected.

Do you want to update the embedded PostgreSQL now? (Y/[N]): Y
[1/4] Extracting PostgreSQL 15.19
[2/4] Stopping Grafana and PostgreSQL
[3/4] Installing PostgreSQL 15.19 (the 15.5 binaries are moved to /datasentinel/soft/postgres-bin.15.5.unused)
[4/4] Starting PostgreSQL and Grafana

==========================================================
 Embedded PostgreSQL updated: 15.5 -> 15.19
==========================================================
Running: PostgreSQL 15.19 on x86_64-pc-linux-gnu, compiled by gcc, 64-bit
The 15.5 binaries are no longer used. They are kept in /datasentinel/soft/postgres-bin.15.5.unused
for a manual rollback and are removed by the next update.
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.datasentinel.io/manual/implementation/upgrade/platform.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
