MySQL e MariaDB hanno un SHOW TABLES
istruzione, che restituisce un elenco di tabelle e viste in un database. PostgreSQL non ha un SHOW TABLES
istruzione, ma ha un comando che produce un risultato simile.
In Postgres, puoi usare il \dt
comando per mostrare un elenco di tabelle. Questo è un comando psql (psql è il terminale interattivo per PostgreSQL).
Esempio
Ecco un esempio di elenco di tutte le tabelle in PostgreSQL:
\dt
Risultato:
List of relations Schema | Name | Type | Owner --------+------------------+-------+---------- public | albums | table | barney public | artists | table | barney public | customers | table | barney public | employees | table | barney public | genres | table | barney public | owners | table | postgres public | petbyid | table | postgres public | pets | table | postgres public | pets2 | table | postgres public | pets3 | table | postgres public | petstypesowners | table | postgres public | petstypesowners2 | table | postgres public | pettypecount | table | postgres public | pettypes | table | postgres public | students | table | barney public | t1 | table | barney public | teachers | table | barney (17 rows)
In questo caso, vengono visualizzate tutte le tabelle.
Avremmo potuto usare \d
senza il t
se necessario. Usando \d
da solo equivale a usare \dtvmsE
che mostra un elenco di tutte le tabelle visibili, viste, viste materializzate, sequenze e tabelle estranee. Il t
nel \dt
è ciò che limita l'output alle sole tabelle.
Specifica un nome tabella
Possiamo aggiungere al comando un modello per restituire solo quelle tabelle che corrispondono al modello.
Esempio:
\dt pet*
Risultato:
List of relations Schema | Name | Type | Owner --------+------------------+-------+---------- public | petbyid | table | postgres public | pets | table | postgres public | pets2 | table | postgres public | pets3 | table | postgres public | petstypesowners | table | postgres public | petstypesowners2 | table | postgres public | pettypecount | table | postgres public | pettypes | table | postgres (8 rows)
Restituisci maggiori dettagli sulla tabella
Possiamo aggiungere \dt
con un +
sign per ottenere ulteriori informazioni su ciascuna tabella:
\dt+ pet*
Risultato:
List of relations Schema | Name | Type | Owner | Size | Description --------+------------------+-------+----------+------------+------------- public | petbyid | table | postgres | 0 bytes | public | pets | table | postgres | 8192 bytes | public | pets2 | table | postgres | 8192 bytes | public | pets3 | table | postgres | 8192 bytes | public | petstypesowners | table | postgres | 16 kB | public | petstypesowners2 | table | postgres | 16 kB | public | pettypecount | table | postgres | 8192 bytes | public | pettypes | table | postgres | 8192 bytes | (8 rows)
Questa volta possiamo vedere le dimensioni di ogni tabella.