TimescaleDB

Minor versie upgrade TimescaleDB voor Zabbix

TimescaleDB brengt met grote regelmaat nieuwe (minor) uit. Met dezelfde frequentie zal je dus de TimescaleDB extensie in PostgreSQL moeten bijwerken. De stappen voor deze upgrades worden in dit artikel besproken.

Voordat je gaat upgraden, is het advies te controleren of de TimescaleDB versie compatible is met de gebruikte PostgreSQL versie. Wanneer de te installeren TimescaleDB versie te nieuw is, zul je namelijk eerst de PostgreSQL server moeten upgraden. Een goede pagina om te lezen hierover is deze: https://docs.tigerdata.com/self-hosted/latest/upgrades/minor-upgrade/

Versie inventarisatie

Als eerste moet de huidige versie van PostgreSQL worden opgevraagd:

su - postgres
psql -X -d zabbix -c "SELECT version();"

De output hiervan zou er als volgt uit zien:

PostgreSQL 16.10 (Ubuntu 16.10-1.pgdg24.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, 64-bit
(1 row)

Hierna kan de huidige versie van de TimescaleDB extensie worden opgevraagd:

psql -X -d zabbix -c "\dx timescaledb;"

Hiervan ziet de uitkomst er als volgt uit:

 Name     | Version | Schema |                                      Description                                      
-------------+---------+--------+------------------------------------------------------------------------------------
 timescaledb | 2.21.3  | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
(1 row)

Nu we deze versies weten, dient te worden opgevraagd welke (nieuwere) versie van TimescaleDB beschikbaar is om te activeren. Dit kan je doen met behulp van de volgende SQL-query:

psql -X -d zabbix -c "SELECT default_version, installed_version FROM pg_available_extensions WHERE name = 'timescaledb';"

De uitkomst van deze SQL-query ziet er als volgt uit:

default_version | installed_version 
-----------------+-------------------
 2.22.0          | 2.21.3
(1 row)

Upgrade

Zijn alle opgevraagde versies compatible met elkaar, dan kan de TimescaleDB extensie worden bijgewerkt. Hiervoor moet het exacte versienummer wat onder default_version staat worden ingevoerd in het volgende SQL-commando:

psql -X -d zabbix -c "ALTER EXTENSION timescaledb UPDATE TO '2.22.0';"

Na uitvoeren van dit commando, kan de huidige TimescaleDB extensie versie worden opgevraagd:

psql -X -d zabbix -c "\dx timescaledb;"

De nieuwe versie (in dit voorbeeld versie 2.22.0) zou nu in de uitkomst van dit commando moeten staan:

Name     | Version | Schema |                                      Description                                      
-------------+---------+--------+------------------------------------------------------------------------------------
 timescaledb | 2.22.0  | public | Enables scalable inserts and complex queries for time-series data (Community Edition)
(1 row)

Aangezien de (minor) releases van TimescaleDB vaker gebeuren dan releases van een nieuwe Zabbix server, kan het soms voorkomen dat de Zabbix server niet meer start. Dit komt omdat Zabbix een TimescaleDB versie ondersteunt, welke net een paar minor versies achter ligt ten opzichte van degene die nu geactiveerd is. Om een Zabbix server te draaien verbonden met een bleeding edge versie van de TimescaleDB extensie, kan het nodig zijn om een instelling in de zabbix_server.conf aan te passen. Deze zou dan als volgt moeten staan:

AllowUnsupportedDBVersions=1

Na het uitvoeren van al deze stappen, draait de bijgewerkte TimescaleDB extensie voor de Zabbix server!

Raimond Kollman

Raimond, is na een ruime carrière van engineer, consultant en fieldmanager weer het veld in gegaan als consultant om zijn brede kennis van techniek, begeleiden van medewerkers en helpen organisaties te structureren en op een hoger technisch niveau te brengen.

Raimond Kollman

Raimond, is na een ruime carrière van engineer, consultant en fieldmanager weer het veld in gegaan als consultant om zijn brede kennis van techniek, begeleiden van medewerkers en helpen organisaties te structureren en op een hoger technisch niveau te brengen.

Meer van Raimond Kollman lezen?