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.
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.
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
In alternativa, eseguire questa istruzione SQL:
Questa query esclude i database modello (template0, template1) e mostra i database creati dall’utente.
Al di fuori di psql, dal terminale:
Si può anche usare psql -l:
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;.
PostgreSQL stabilisce una connessione a un database specifico al momento del login. Per accedere a un altro database, è necessario disconnettersi e riconnettersi.
Uscire dalla sessione corrente e riconnettersi al database desiderato:
Quindi:
Oppure direttamente:
Creare un file .pgpass per automatizzare l’autenticazione:
Assicurarsi che abbia i permessi corretti:
Creare uno script che elenchi e commuti:
Esportare il DB e l’utente predefiniti per un passaggio più rapido:
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.
All’interno di psql, trovare il database corrente:
Oppure utilizzare:
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.