Introduzione
PostgreSQL è un sistema di gestione di database relazionale open-source, noto per la sua affidabilità e funzionalità avanzate. È utilizzato da sviluppatori e amministratori di sistema in tutto il mondo per gestire piccoli e grandi database. In questa guida, ti spiegherò come installare PostgreSQL su diverse distribuzioni Linux, come creare un database, gestire utenti e assegnare permessi. La guida è progettata per chi non ha familiarità con Linux, quindi ogni passo è spiegato chiaramente.
1. Accedere al Tuo Server Linux (Spiegazione di SSH)
Prima di installare PostgreSQL, devi accedere al tuo server Linux. Questo avviene tramite SSH (Secure Shell), che ti permette di connetterti al server in modo sicuro. Se non sei familiare con SSH, non preoccuparti, ti guiderò attraverso ogni passo.
Passaggi per accedere al server via SSH:
- Ottieni le credenziali di accesso dal tuo fornitore di hosting (ad esempio, DigitalOcean, AWS, o un altro provider).
- Apri il terminale sul tuo computer. Su Windows, puoi usare PuTTY o il
Prompt dei Comandi
. - Esegui il seguente comando per accedere al server:
ssh nomeutente@indirizzo_ip_del_tuo_server
Sostituiscinomeutente
con il nome utente fornito dal tuo host (ad esempio,root
oubuntu
) eindirizzo_ip_del_tuo_server
con l'indirizzo IP del server. - Ti verrà chiesta la password fornita dal tuo provider. Inseriscila per accedere.
2. Installare PostgreSQL sulla Tua Distribuzione Linux
Ora che sei connesso al server, puoi installare PostgreSQL. Le istruzioni variano leggermente a seconda della distribuzione Linux che stai utilizzando (Ubuntu, Debian, CentOS, ecc.). Segui le istruzioni appropriate per la tua distribuzione.
Per Ubuntu e Debian
Ubuntu e Debian utilizzano il gestore di pacchetti APT per installare software. Ecco come installare PostgreSQL:
sudo apt update sudo apt install postgresql postgresql-contrib
Il primo comando aggiorna l'elenco dei pacchetti, mentre il secondo installa PostgreSQL e alcuni strumenti aggiuntivi utili. Dopo aver eseguito questi comandi, PostgreSQL verrà installato e avviato automaticamente.
Per CentOS e RHEL
Su CentOS e RHEL, utilizzerai il gestore di pacchetti YUM per installare PostgreSQL:
sudo yum install postgresql-server postgresql-contrib
Dopo l'installazione, avvia e inizializza il database di PostgreSQL con i seguenti comandi:
sudo postgresql-setup initdb sudo systemctl start postgresql
Questi comandi inizializzano il database e avviano il servizio PostgreSQL.
3. Verificare l'Installazione di PostgreSQL
Ora che PostgreSQL è installato, possiamo verificare se il servizio è in esecuzione correttamente. Esegui questo comando per controllare lo stato di PostgreSQL:
sudo systemctl status postgresql
Se vedi un messaggio che indica che PostgreSQL è "attivo", significa che il servizio è in esecuzione correttamente.
4. Porta di Default di PostgreSQL
PostgreSQL utilizza la porta 5432 per impostazione predefinita. Se desideri connetterti a PostgreSQL da remoto o configurare il tuo firewall, è importante assicurarsi che la porta 5432 sia aperta per il traffico entrante. Puoi configurare la porta di PostgreSQL nel file di configurazione postgresql.conf
, che si trova tipicamente in /etc/postgresql/<versione>/main/
su Ubuntu/Debian.
5. Creare un Utente e un Database in PostgreSQL
Una volta che PostgreSQL è in esecuzione, puoi creare nuovi utenti e database. Ci sono due modi principali per farlo: usando i comandi da riga di comando (`createuser`, `createdb`) oppure tramite l'interfaccia SQL (`psql`).
Utilizzare `createuser` e `createdb` (Riga di Comando)
Puoi creare un nuovo utente con il comando createuser e un nuovo database con createdb. Ecco come creare un utente e un database dalla riga di comando:
sudo -u postgres createuser --interactive sudo -u postgres createdb nome_database
Il primo comando ti permetterà di interagire con la creazione dell'utente, mentre il secondo creerà un nuovo database chiamato nome_database
.
Utilizzare `psql` per Creare Utenti e Database
Puoi anche accedere all'interfaccia SQL di PostgreSQL con il comando `psql` e creare utenti e database direttamente da lì. Ecco come accedere all'interfaccia `psql`:
sudo -u postgres psql
Una volta che sei in `psql`, puoi eseguire i seguenti comandi per creare un utente con password e un database:
Creare un Utente con Password:
CREATE ROLE nome_utente WITH LOGIN PASSWORD 'password_sicura';
Creare un Database e Assegnare un Proprietario:
CREATE DATABASE nome_database OWNER nome_utente;
Il comando `CREATE ROLE` crea un nuovo utente, e `CREATE DATABASE` crea un database e assegna l'utente come proprietario.
6. Gestire i Permessi Utente in PostgreSQL
Ora che hai creato un utente e un database, puoi gestire i permessi dell'utente per accedere e modificare il database. Ecco come concedere tutti i privilegi su un database all'utente:
Concedere Tutti i Privilegi su un Database:
GRANT ALL PRIVILEGES ON DATABASE nome_database TO nome_utente;
Puoi anche assegnare permessi specifici su tabelle o revocare i permessi:
Assegnare Permessi Specifici su una Tabella:
GRANT SELECT, INSERT ON TABLE nome_tabella TO nome_utente;
Revocare Permessi:
REVOKE ALL PRIVILEGES ON DATABASE nome_database FROM nome_utente;
7. Visualizzare Utenti e Permessi
Per visualizzare tutti gli utenti (ruoli) nel database e i loro privilegi, puoi utilizzare il comando speciale `\du` all'interno di `psql`:
\du
Questo comando elenca tutti gli utenti e i loro privilegi. Puoi anche visualizzare i permessi su tabelle specifiche con:
\z nome_tabella
Conclusione
Congratulazioni! Hai installato PostgreSQL su Linux, creato utenti e database, e hai imparato a gestire i permessi. Che tu stia utilizzando i comandi da riga di comando o lavorando direttamente dall'interfaccia `psql`, PostgreSQL è uno strumento potente e flessibile. Con questa guida, sei pronto per iniziare a gestire i tuoi database con facilità.