Installare TimescaleDB su Oracle Linux 9

TimescaleDB is the open-source relational database for time-series and analytics. Build powerful data-intensive applications.

Questa è la definizione che si trova sul sito relativamente a questa variante di PostgreSQL con funzioni di time series database.
Purtroppo la documentazione presente sul sito copre Red Hat Enterprise, Fedora e CentOS, ma non Oracle Linux, divenuta, dopo la trasformazione di CentOS 8 in CentOS Stream, una delle distribuzioni di riferimento in ambito enterprise.
Dato che ci siamo trovati nella necessità di installare questo DB su Oracle Linux 9, qua di seguito trovate le istruzioni per effettuare questa operazione.
Questa è la pagina della documentazione di TimescaleDB contenente le istruzioni per il setup:

https://docs.timescale.com/install/latest/self-hosted/installation-redhat/#where-to-next

Di seguito troverete le stesse istruzioni corrette per l’uso su Oracle Linux 9.

Questo articolo è derivato e adeguato da quello di pari argomento, ma basato su Postgresql-14 su Oracle Linux 8

Di default Oracle Linux 9 installa la versione 16 di Postgres, che è quella che serve.  Questo comando ce lo conferma:

dnf module list postgresql
                                                                                                                  238  B/s | 833  B     00:03
Oracle Linux 9 Application Stream Packages (x86_64)
Name                               Stream                         Profiles                                   Summary
postgresql                         15                             client, server [d]                         PostgreSQL server and client module
postgresql                         16                             client, server [d]                         PostgreSQL server and client module
 

Tuttavia è conveniente installare il repository di Postgresql più recente:

dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

Ora dobbiamo creare il repository predefinito di Timescale:

vi /etc/yum.repos.d/timescale_timescaledb.repo

E inseriamo al suo interno queste righe:

[timescale_timescaledb]
name=timescale_timescaledb
baseurl=https://packagecloud.io/timescale/timescaledb/el/9/$basearch
repo_gpgcheck=1
gpgcheck=0
enabled=1
gpgkey=https://packagecloud.io/timescale/timescaledb/gpgkey
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

Finalmente possiamo installare PostgreSQL 16 nella versione con TimescaleDB:

yum install timescaledb-2-postgresql-16

Se tutto è andato correttamente procediamo a configurare l’estensione per TimescaleDB. Inizializziamo il DB:

/usr/pgsql-16/bin/postgresql-16-setup initdb

Abilitiamo e avviamo il servizio:

systemctl enable postgresql-16
systemctl start postgresql-16

Ora procediamo all’abilitazione della shared library di TimescaleDB nel file di configurazione di postgresql:

vi /var/lib/pgsql/16/data/postgresql.conf

Verso la fine troviamo una riga commentata con la dicitura “shared_preload_libraries”. Subito sotto inseriamo la seguente riga:

shared_preload_libraries = 'timescaledb'

Riavviamo il servizio:

systemctl restart postgresql-16

Se state installando TimescaleDB come backend per Zabbix fermatevi qua e proseguite con la procedura indicata nell’articolo dedicato, altrimenti proseguite.

Connettiamoci all’istanza di PostgreSQL come superuser:

su postgres -c psql

Riceveremo un messaggio di benvenuto simile a questo:

psql (16.3)
Type "help" for help.

Al prompt diamo il comando per creare un DB vuoto:

CREATE database example;

Connettiamoci al DB appena creato:

\c example

Aggiungiamo al DB la TimescaleDB extension:

CREATE EXTENSION IF NOT EXISTS timescaledb;

Colleghiamoci al DB con questo comando:

su postgres -c 'psql -d example'

Dando il comando \dx all’interno del prompt di PostgreSQL possiamo verificare se l’estensione è attiva:

example=# \dx
List of installed extensions
Name | Version | Schema | Description
-------------+---------+------------+-------------------------------------------------------------------
plpgsql | 1.0 | pg_catalog | PL/pgSQL procedural language
timescaledb | 2.7.0 | public | Enables scalable inserts and complex queries for time-series data
(2 rows)

Da qua possiamo vedere che l’estensione è attiva e funzionante.
L’installazione di TimescaleDB su Oracle Linux 9 è terminata.

© 2024 Catfish Blog | Tema: Storto di CrestaProject WordPress Themes.