Database - Linux - PostgreSQL

Installare PostgreSQL 18 su Linux

Installare PostgreSQL 18 su Linux è un’ottima scelta per chi necessita di una piattaforma database moderna, sicura e adatta a carichi di lavoro mission-critical. In questa guida vedremo come installarlo sulle distribuzione Linux derivate RHEL (Red Hat Enterprise Linux, AlmaLinux, Rocky Linux, Oracle Linux).

I vantaggi dell’utilizzo di PostgreSQL sono molteplici

  • affidabilità e integrità dei dati
  • conformità agli standard SQL
  • funzionalità avanzate di sicurezza
  • scalabilità per ambienti enterprise

Utilizzo del repository ufficiale PostgreSQL

Le distribuzioni derivate RHEL includono PostgreSQL nei loro repository ufficiali. Tuttavia, queste versioni possono non essere aggiornate all’ultima release e variare a seconda della distribuzione utilizzata. La scelta migliore è quindi quella di utilizzare il repository ufficiale di PostgreSQL che garantisce

  • la possibilità di utilizzare l’ultima versione stabile disponibile
  • aggiornamenti di sicurezza tempestivi
  • possibilità di installazione di versioni diverse
  • maggiore controllo sugli update

Installare PostgreSQL 18 su sistemi RHEL, AlmaLinux, Rocky Linux

Iniziamo a vedere la procedura di installazione. Per prima cosa dobbiamo disabilitare il modulo PostgreSQL di sistema al fine di evitare conflitti con i pacchetti

sudo dnf -qy module disable postgresql

Installiamo il repository ufficiale di PostgreSQL in base alla distribuzione che stiamo utilizzando

# Repository per RHEL, AlmaLinux, Rocky Linux versione 8
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Repository per RHEL, AlmaLinux, Rocky Linux versione 9
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm

# Repository per RHEL, AlmaLinux, Rocky Linux versione 10
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-10-x86_64/pgdg-redhat-repo-latest.noarch.rpm

possiamo ora installare la nostra istanza di PostgreSQL

sudo dnf install -y postgresql18-server postgresql18 postgresql18-contrib

completato il processo di installazione dobbiamo inizializzare il cluster database

sudo /usr/pgsql-18/bin/postgresql-18-setup initdb

Prima di proseguire con l’installazione, approfondiamo due concetti fondamentali di PostgreSQL.

Cos’è un cluster PostgreSQL? È l’insieme completo dei database gestiti da una singola istanza del server PostgreSQL

  • contiene più database
  • condivide utenti e ruoli
  • condivide configurazione
  • condivide WAL
  • è legato a una porta TCP

Un cluster = una singola istanza PostgreSQL in esecuzione.

Cos’è un Database PostgreSQL? È un contenitore logico di oggetti (tabelle, viste, funzioni, indici, schemi) all’interno di un cluster.

  • contiene tabelle e oggetti
  • è isolato dagli altri database
  • non può accedere direttamente alle tabelle di un altro database
  • condivide utenti e configurazione del cluster

Possiamo ora abilitare il servizio all’avvio del sistema e farlo partire

sudo systemctl enable --now postgresql-18

e verificarne lo stato con

systemctl status postgresql-18

Verifichiamo l’installazione provando ad accedere all’istanza

$ sudo -iu postgres

$ psql
psql (18.1)
Type "help" for help.

postgres=#

se viene visualizzato il prompt postgres=#, l’installazione base è completata e funzionante.

Conclusioni

Abbiamo visto come effettuare l’installazione di base di PostgreSQL. Per l’implementazione in un’ambiente enterprise sarà necessario adottare misure di Cybersecurity (es. connessioni cifrate TLS/SSL, configurazione restrittiva di pg_hba.conf) e di Governance (es. backup, monitoraggio delle performance, gestione dei log) che affronteremo in altri articoli.