Come installare e configurare PostgreSQL su AlmaLinux
PostgreSQL è un sistema di gestione di database relazionali open source utilizzato da numerose applicazioni web e software server.
In questa guida vedrai come installare PostgreSQL su AlmaLinux 9, inizializzare il database, avviare il servizio e creare un primo database con il relativo utente.
Al termine della procedura avrai un’installazione PostgreSQL funzionante e pronta per essere utilizzata da un’applicazione locale.
Installare il server PostgreSQL
AlmaLinux 9 mette a disposizione PostgreSQL tramite i moduli del sistema. In questa guida utilizziamo PostgreSQL 16.
Installa il modulo server con:
sudo dnf module install postgresql:16/server -y
Il pacchetto postgresql-server contiene il server PostgreSQL, mentre i relativi strumenti client vengono installati come dipendenze. Il progetto PostgreSQL documenta l’utilizzo dei pacchetti della famiglia RHEL/AlmaLinux e specifica che la versione disponibile dipende dai repository e dai moduli della distribuzione.
Verificare la versione installata
Al termine dell’installazione puoi verificare la versione del client PostgreSQL con:
psql --version
Il risultato dovrebbe indicare PostgreSQL 16.
Verificare la versione installata
L’installazione dei pacchetti non inizializza automaticamente il database.
Prima di avviare PostgreSQL è quindi necessario creare il database cluster iniziale:
sudo postgresql-setup --initdb
L’operazione inizializza la directory dati predefinita di PostgreSQL, che su AlmaLinux/RHEL è normalmente:
/var/lib/pgsql/data/
Red Hat indica postgresql-setup --initdb come passaggio necessario dopo l’installazione del server PostgreSQL.
Avviare PostgreSQL
Dopo aver inizializzato il database, avvia il servizio:
sudo systemctl start postgresql
Abilitalo inoltre all’avvio del sistema:
sudo systemctl enable postgresql
Verifica quindi lo stato del servizio:
sudo systemctl status postgresql
Lo stato del servizio dovrebbe risultare simile a: Active: active (running). PostgreSQL documenta esplicitamente l’abilitazione e l’avvio del servizio dopo l’inizializzazione del cluster.
Accedere a PostgreSQL
L’installazione crea automaticamente il ruolo PostgreSQL postgres. Questo ruolo viene utilizzato per le operazioni amministrative iniziali.
Puoi accedere alla console PostgreSQL utilizzando l’utente di sistema postgres:
sudo -u postgres psql
Se l’accesso è riuscito, verrà visualizzato il prompt di PostgreSQL:
postgres=#
Per uscire dalla console usa: \q. PostgreSQL utilizza psql come terminale interattivo per eseguire comandi e interrogazioni sul database.
Creare un utente PostgreSQL
È consigliabile creare un ruolo dedicato all’applicazione invece di utilizzare direttamente il ruolo amministrativo postgres.
Accedi alla console:
sudo -u postgres psql
Quindi crea un nuovo utente:
CREATE USER nome_utente WITH PASSWORD 'PASSWORD_SICURA';
Sostituisci:
nome_utentecon il nome che vuoi utilizzare;PASSWORD_SICURAcon una password robusta e univoca.
Il comando CREATE USER crea un ruolo PostgreSQL con possibilità di autenticazione. Per impostazione predefinita non concede privilegi amministrativi come SUPERUSER, CREATEDB o CREATEROLE.
Creare un database
Dalla stessa console PostgreSQL puoi creare un database:
CREATE DATABASE nome_database OWNER nome_utente;
In questo modo nome_utente viene impostato come proprietario del database.
PostgreSQL permette di specificare direttamente il proprietario durante la creazione del database con CREATE DATABASE ... OWNER ....
A questo punto puoi verificare i database disponibili:
\l
Nell’elenco dovresti trovare nome_database.
Verificare l'accesso con il nuovo utente
Puoi verificare che il nuovo utente riesca effettivamente a collegarsi al database:
psql -U mio_utente -d mio_database -h 127.0.0.1 -W
L’opzione -W richiede la password dell’utente.
Se l’autenticazione ha esito positivo, verrà visualizzato il prompt:
nome_database=>
Puoi verificare la connessione con:
\conninfo
PostgreSQL documenta psql come client interattivo per collegarsi ai database e specificare database, host e utente tramite le relative opzioni.
Configurazione dell'autenticazione
PostgreSQL utilizza il file pg_hba.conf per determinare come i client vengono autenticati.
Nell’installazione standard su AlmaLinux il file si trova normalmente nella directory del cluster:
/var/lib/pgsql/data/pg_hba.conf
Il file postgresql.conf, nella stessa directory, contiene invece i principali parametri di configurazione del server.
Tra le impostazioni più importanti per l’autenticazione tramite password c’è scram-sha-256.
PostgreSQL 18 documenta SCRAM-SHA-256 come il metodo di autenticazione tramite password più sicuro tra quelli attualmente forniti e segnala che il supporto dipende anche dai client utilizzati.
Per una configurazione standard locale non è necessario modificare manualmente questi file durante la procedura iniziale.