PostgreSQL, altrimenti noto come Postgres, è un sistema di database relazionale a oggetti open-source che consente di archiviare e scalare carichi di lavoro complessi di dati in modo sicuro. Utilizza ed estende SQL, il linguaggio che consente agli utenti di accedere ai database.

Per gestire efficacemente un server di database Postgres, è necessario conoscere bene il proprio ambiente e ciò che il server memorizza. A volte potreste aver bisogno di elencare i database in esecuzione sul server, recuperare informazioni su di essi e connettervi ad essi. È possibile completare queste operazioni utilizzando l’interfaccia di PostgreSQL o uno strumento grafico come Adminer per visualizzare e manipolare facilmente queste informazioni.

Se il vostro database è solo uno tra tanti presenti sul server Postgres, potreste dover filtrare l’elenco per trovarlo. E spesso potreste avere bisogno di una panoramica dei dati che contiene, il che richiederebbe un elenco delle tabelle. Questa guida pratica mostra come ottenere un elenco di database e tabelle in Postgres.

Prerequisiti

Per seguire questa guida, assicuratevi di avere i seguenti requisiti:

  • Un server database Postgres con uno o più database installati.
  • Credenziali di accesso come superutente per un account sul server di database.
  • Familiarità con i comandi SQL di base, come le istruzioni SELECT e le clausole WHERE.

È inoltre necessario avere a disposizione alcuni database e tabelle.

Come connettersi al server di database PostgreSQL

La connessione a un server di database PostgreSQL comporta l’accesso alla sua versione SQL, chiamata psql, attraverso la SQL Shell disponibile sul desktop dopo l’installazione.

Utilizzando psql e SQL Shell, potete gestire l’ambiente di database. Mentre la maggior parte dei comandi SQL manipola dati e tabelle, i metacomandi di psql gestiscono le attività di amministrazione del database. Ad esempio, potete creare o cancellare database usando i metacomandi e aggiungere tabelle o recuperare dati con i comandi SQL.

I metacomandi di psql sono contraddistinti da un prefisso backslash (\) e molti hanno versioni più brevi. Ad esempio, sia \help che \h svolgono la stessa funzione.

Per eseguire le istruzioni SQL e i metacomandi, accedete al server tramite SQL Shell. Vi verrà richiesto di fornire:

  • Il nome del database di destinazione
  • Il nome utente
  • La password

Dopo aver inserito le informazioni, apparirà un prompt che vi permetterà di inserire i comandi SQL e i metacomandi:

Un login riuscito in psql.
Un login riuscito in psql.

Una volta effettuata la connessione, potrete:

  • Elencare i database disponibili
  • Connettervi a un database specifico
  • Filtrare l’elenco dei database
  • Passare da un database all’altro
  • Elencare le tabelle di un database

Come mostrare i database

All’interno di un server Postgres, la gestione di più database è una pratica standard. Ogni database risiede in una directory unica, memorizzata separatamente all’interno del server.

Per gestire il server di database in modo efficace, potreste aver bisogno di recuperare informazioni specifiche, come un elenco dei database del server e dei loro dettagli. Per elencare i database del server Postgres utilizzando psql, accedete all’ambiente Postgres in SQL Shell.

Una volta effettuato l’accesso, inserite il metacomando \list alla riga di comando. In questo modo SQL Shell visualizzerà una panoramica dei database presenti nell’ambiente, come nell’immagine seguente:

Elenco dei database in psql.
Elenco dei database in psql.

Per un comando più rapido, potete utilizzare la forma abbreviata \l, ottenendo lo stesso elenco completo di database.

Filtrare i database in un ambiente Postgres

Quando si naviga in un ambiente con numerosi database, diventa essenziale individuarne uno specifico. SQL Shell permette di raggiungere questo obiettivo incorporando le caratteristiche del database nel proprio comando.

Negli ambienti Postgres, le informazioni sul database sono memorizzate nella tabella pg_database. Ad esempio, se volete recuperare e filtrare i database che contengono il termine “test”, eseguite la seguente query:

SELECT * FROM pg_database WHERE datname = 'test_data';

SQL Shell elenca i database che corrispondono ai vostri criteri:

Un elenco di database con nomi contenenti la stringa test.
Un elenco di database con nomi contenenti la stringa test.

Poiché questo metodo di elencare i database e di filtrare i risultati è basato su SQL, potete costruire query complesse per creare elenchi filtrati di database. Tuttavia, ciò richiede una certa familiarità con SQL e i metadati di Postgres.

Come connettersi e cambiare database

Per navigare nei database utilizzando SQL Shell e PSQL, collegarsi o passare da un database all’altro è un processo semplice, a patto che conosciate il nome del database di destinazione.

Per connettervi o passare a un database, accedete all’ambiente Postgres in SQL Shell.

Poi, alla riga di comando, inserite il metacomando \connect, seguito dal nome del database di destinazione. Ad esempio, per connettervi a un database chiamato test_data, usate il comando \connect test_data.

SQL Shell visualizza il seguente messaggio dopo la connessione al database:

Connessione riuscita al database test_data.
Connessione riuscita al database test_data.

In alternativa, potete utilizzare il comando breve \c per ottenere gli stessi risultati.

Come elencare le tabelle del database

Una volta che vi sarete connessi a un database, potete elencare le tabelle che contiene. Per farlo, inserite il comando \dt.

SQL Shell elenca tutte le tabelle del database:

Un elenco delle tabelle del database corrente.
Un elenco delle tabelle del database corrente.

Accedere ai database e alle tabelle con Adminer

SQL Shell è solo uno strumento per amministrare i database Postgres. Un altro strumento è Adminer, che fornisce una semplice interfaccia grafica (GUI) per gestire il server di database. Inoltre, Adminer funziona in qualsiasi ambiente in cui sia stato installato PHP.

Potete installare ed eseguire Adminer in modo indipendente, ma è anche una delle tante funzioni della suite DevKinsta.

Una volta installato Adminer, eseguitelo e inserite le credenziali dell’ambiente Postgres:

La pagina di login di Adminer.
La pagina di login di Adminer.

Potete usare Adminer per recuperare l’elenco dei database dell’ambiente Postgres. Quando accedete al server di database, viene visualizzato un elenco dei suoi database:

Adminer mostra l'elenco di tutti i database.
Adminer mostra l’elenco di tutti i database.

Per connettervi al database desiderato, selezionatelo dall’elenco. Adminer visualizza quindi un elenco di tabelle, viste, routine, sequenze e tipi di utenti per il database selezionato.

Le informazioni relative al database test_data.
Le informazioni relative al database test_data.

In alternativa, potete selezionare un database dal menu a tendina DB sul lato sinistro della pagina:

Il menu a tendina mostra i database disponibili.
Il menu a tendina mostra i database disponibili.

Riepilogo

Per gestire con successo i database dell’ambiente Postgres, dovete essere in grado di visualizzare, filtrare e interagire con i dati contenuti con il minimo sforzo. Potreste optare per la linea di comando SQL Shell, ma la facilità di uno strumento GUI come Adminer potrebbe adattarsi meglio al vostro flusso di lavoro.

Per gli sviluppatori di WordPress, DevKinsta è un potente alleato che offre l’accesso ad Adminer insieme a una suite di altri strumenti progettati per semplificare la gestione dei database. Per gestire facilmente i vostri database Postgres, date un’occhiata a DevKinsta: è gratis – per sempre!

Jeremy Holcombe Kinsta

Content & Marketing Editor presso Kinsta, web developer di WordPress e content writer. Al di fuori di tutto ciò che riguarda WordPress, mi piacciono la spiaggia, il golf e il cinema. Ho anche i problemi di tutte le persone più alte della media ;).