Elencare e cambiare database in PostgreSQL
PostgreSQL, un potente sistema di database relazionale a oggetti open-source, offre una ricca serie di strumenti e funzioni per gestire i database in modo efficiente. Sia che siate un amministratore di database o uno sviluppatore backend, sapere come elencare e passare da un database all’altro è fondamentale per navigare in ambienti multi-database.
1. Prerequisiti
Prima di iniziare, assicuratevi che:
PostgreSQL sia installato sul vostro sistema(psql è accessibile).
Si disponga dei permessi appropriati (ad esempio, superutente o ruolo con diritti di connessione).
Ci si possa autenticare con il server PostgreSQL utilizzando un utente valido.
2. Elencare i database in PostgreSQL
🔍 Metodo 1: Utilizzo del metacomando psql
Avviare il terminale interattivo psql ed eseguire:
Oppure la forma estesa:
Questo restituisce un elenco di tutti i database:
Name
Owner
Encoding
Collation
Ctype
Access privileges
Metodo 2: Utilizzo di una query SQL
In alternativa, eseguire questa istruzione SQL:
Questa query esclude i database modello (template0, template1) e mostra i database creati dall’utente.
🛠️ Metodo 3: Shell a riga di comando
Al di fuori di psql, dal terminale:
Si può anche usare psql -l:
3. Cambiare database
A differenza di altri RDBMS (ad esempio, MySQL), PostgreSQL non supporta il cambio di database all’interno della stessa sessione utilizzando un comando come USE dbname;.
Perché?
PostgreSQL stabilisce una connessione a un database specifico al momento del login. Per accedere a un altro database, è necessario disconnettersi e riconnettersi.
Approccio consigliato:
Uscire dalla sessione corrente e riconnettersi al database desiderato:
Quindi:
Oppure direttamente:
Esempio:
4. Suggerimenti per un flusso di lavoro efficiente su più database
a. Utilizzare .pgpass per la commutazione senza password
Creare un file .pgpass per automatizzare l’autenticazione:
Assicurarsi che abbia i permessi corretti:
b. Automatizzare con gli script di shell
Creare uno script che elenchi e commuti:
c. Utilizzare le variabili d’ambiente
Esportare il DB e l’utente predefiniti per un passaggio più rapido:
5. Lavorare con PgAdmin e altre interfacce grafiche
In PgAdmin:
Fare clic sul gruppo di server.
Fare clic con il pulsante destro del mouse → Connetti a un database.
Usare il menu a tendina dello strumento Query per cambiare database (crea una nuova scheda per ogni DB).
Molti strumenti (DBeaver, DataGrip) consentono connessioni multiple con viste del database a schede.
6. Bonus: controllare il database corrente
All’interno di psql, trovare il database corrente:
Oppure utilizzare:
Conclusione
Sebbene PostgreSQL non permetta di cambiare database in sessione come altri motori SQL, il suo robusto modello di connessione garantisce un controllo degli accessi e una gestione delle risorse pulita e coerente. Padroneggiando le tecniche di elencazione e adottando pratiche di riconnessione intelligenti, è possibile gestire in modo efficiente e passare da un database PostgreSQL all’altro in qualsiasi ambiente, sia tramite CLI, GUI o script.


