Gennaio 27, 2026Guide
Come installare PostgreSQL su un server Linux
Guida completa sull'installazione, configurazione e protezione del server database PostgreSQL su Ubuntu e CentOS.

PostgreSQL è un potente sistema di gestione database relazionale open-source, noto per la sua affidabilità, ricchezza di funzionalità e conformità agli standard. Questa guida ti aiuterà a installare e configurare PostgreSQL sul tuo server Linux Hiddence.
Installazione di PostgreSQL su Ubuntu/Debian
PostgreSQL è disponibile nei repository predefiniti. Installa l'ultima versione:
bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y
# Avvia e abilita PostgreSQL
sudo systemctl start postgresql
sudo systemctl enable postgresql
# Verifica l'installazione
sudo systemctl status postgresql
psql --versionInstallazione di PostgreSQL su RHEL / CentOS / AlmaLinux / Rocky Linux
Per le distribuzioni basate su RHEL, devi prima aggiungere il repository PostgreSQL:
bash
# Installa il repository PostgreSQL
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Per CentOS 8/Rocky Linux 8, usa:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# Installa PostgreSQL
sudo dnf install -y postgresql15-server postgresql15
# Inizializza il database
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# Avvia e abilita PostgreSQL
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
# Verifica l'installazione
sudo systemctl status postgresql-15
psql --versionVerifica dell'installazione
bash
# Controlla lo stato di PostgreSQL
sudo systemctl status postgresql
# Controlla la versione di PostgreSQL
psql --version
# Connettiti a PostgreSQL (Ubuntu/Debian)
sudo -u postgres psql
# Connettiti a PostgreSQL (CentOS/RHEL)
sudo -u postgres psql -d postgresProtezione di PostgreSQL
Imposta una password per l'utente postgres:
bash
# Connettiti a PostgreSQL
sudo -u postgres psql
# Imposta la password per l'utente postgres
ALTER USER postgres PASSWORD 'tua_password_forte';
# Esci da PostgreSQL
\qCreazione di database e utente
bash
# Connettiti come utente postgres
sudo -u postgres psql
# Crea il database
CREATE DATABASE myapp_db;
# Crea l'utente
CREATE USER app_user WITH PASSWORD 'password_forte';
# Concedi i privilegi
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;
# Esci
\qGestione degli utenti
bash
# Connettiti a PostgreSQL
sudo -u postgres psql
# Elenca tutti gli utenti
\du
# Crea un nuovo utente
CREATE USER newuser WITH PASSWORD 'password';
# Concedi i privilegi
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;
# Revoca i privilegi
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;
# Elimina l'utente
DROP USER newuser;Abilitazione delle connessioni remote
Per consentire connessioni remote, modifica i file di configurazione PostgreSQL:
bash
# Modifica pg_hba.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf
# Modifica pg_hba.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf
# Aggiungi la riga:
host all all 0.0.0.0/0 md5
# Modifica postgresql.conf (Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf
# Modifica postgresql.conf (CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf
# Cambia:
listen_addresses = '*'
# Riavvia PostgreSQL
sudo systemctl restart postgresqlComandi PostgreSQL di base
bash
# Connettiti al database
psql -U app_user -d myapp_db
# Elenca i database
\l
# Connettiti al database
\c database_name
# Elenca le tabelle
\dt
# Descrivi la tabella
\d table_name
# Esegui un file SQL
psql -U app_user -d myapp_db -f script.sql
# Backup del database
pg_dump -U app_user myapp_db > backup.sql
# Ripristina il database
psql -U app_user -d myapp_db < backup.sqlConsigli utili
- Usa sempre password forti per gli utenti del database
- Limita l'accesso remoto a indirizzi IP specifici in pg_hba.conf
- Esegui regolarmente il backup dei tuoi database usando pg_dump
- Monitora i log di PostgreSQL: /var/log/postgresql/ (Ubuntu) o /var/lib/pgsql/15/data/log/ (CentOS)
- Usa il connection pooling (pgBouncer) per applicazioni ad alto traffico
- Mantieni PostgreSQL aggiornato all'ultima versione stabile per le patch di sicurezza