Prerequisiti
- PostgreSQL installato sul tuo sistema.
- Accesso allo strumento da riga di comando psql.
- Una conoscenza di base di SQL e PostgreSQL.
Connettersi al database
Per prima cosa, devi connetterti al tuo database PostgreSQL. Puoi farlo eseguendo il comando psql seguito dal nome del database:
psql -d your_database_name
Se il tuo server PostgreSQL richiede nome utente e password, puoi indicare il nome utente così:
psql -U your_username -d your_database_name
Dopo aver inserito la password, dovresti essere connesso al tuo database.
Usare il comando \dt
Il modo più rapido per elencare tutte le tabelle del database corrente è usare il comando \dt:
\dt
Output previsto:
List of relations
Schema | Name | Type | Owner
--------+---------------------+-------+---------
public | my_first_table | table | postgres
public | my_second_table | table | postgres
public | another_table | table | postgres
(3 rows)
Se vuoi vedere più informazioni sulle tue tabelle, puoi anche usare:
\dt+
Questo comando mostra tutte le tabelle dello schema public. Se vuoi elencare le tabelle di tutti gli schema, usa:
\dt *.*
Interrogare l'Information Schema
Un altro approccio è interrogare direttamente la vista information_schema.tables. È particolarmente utile se vuoi più controllo sull'output:
SELECT table_schema, table_name
FROM information_schema.tables
WHERE table_type = 'BASE TABLE' AND table_schema NOT IN ('pg_catalog', 'information_schema');
Output previsto:
table_schema | table_name
--------------+------------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Questa query elenca tutte le tabelle di tutti gli schema, esclusi quelli di sistema.
Usare la vista pg_tables
Puoi elencare le tabelle anche usando il catalogo di sistema pg_tables:
SELECT schemaname, tablename
FROM pg_tables
WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema';
Output previsto:
schemaname | tablename
------------+-----------------
public | my_first_table
public | my_second_table
public | another_table
(3 rows)
Questo metodo è molto simile all'interrogare information_schema.tables, ma fa riferimento direttamente al catalogo interno di PostgreSQL.
Filtrare le tabelle per schema
Se vuoi elencare le tabelle di uno schema specifico, puoi modificare le query precedenti per filtrare in base alla colonna table_schema o schemaname:
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'your_schema_name' AND table_type = 'BASE TABLE';
Oppure usando pg_tables:
SELECT tablename
FROM pg_tables
WHERE schemaname = 'your_schema_name';
Conclusione
Elencare le tabelle in PostgreSQL con psql è semplice, e hai a disposizione diversi metodi in base alle tue esigenze. Il comando \dt è il più rapido, mentre interrogare information_schema o pg_tables offre più controllo e flessibilità. Usa i metodi più adatti al tuo modo di lavorare.
Altri articoli che potrebbero piacerti:
Beekeeper Studio è una GUI per database gratuita & open source
Il miglior strumento per query & editor SQL che abbia mai usato. Offre tutto ciò che mi serve per gestire il mio database. - ⭐⭐⭐⭐⭐ Mit
Beekeeper Studio è veloce, intuitivo e facile da usare. Beekeeper supporta tantissimi database e funziona alla grande su Windows, Mac e Linux.
Cosa dicono gli utenti di Beekeeper Studio
"Beekeeper Studio ha sostituito completamente il mio vecchio flusso di lavoro SQL. È veloce, intuitivo e rende di nuovo piacevole lavorare con i database."
"Ho provato molte GUI per database, ma Beekeeper trova il perfetto equilibrio tra funzionalità e semplicità. Funziona e basta."