Quando si amministrano i server di database PostgreSQL, una delle attività più comuni che è probabile eseguire è elencare i database e le loro tabelle.
PostgreSQL viene fornito con uno strumento interattivo chiamato psql
, che consente di connettersi al server ed eseguire query su di esso. Quando si utilizza psql
è anche possibile sfruttare i suoi meta-comandi. Questi comandi sono utili per lo scripting e l’amministrazione della riga di comando., Tutti i meta-comandi iniziano con un backslash non quotato e sono noti anche come comandi backslash.
Questo tutorial spiega come mostrare database e tabelle in un server PostgreSQL usandopsql
.
Elenco database #
È possibile connettersi al server PostgreSQL utilizzando il comandopsql
come qualsiasi utente di sistema. A seconda della configurazione del server, l’utente potrebbe dover inserire la propria password per connettersi al terminalepsql
., Per accedere al terminalepsql
come utente attualmente connesso, è sufficiente digitarepsql
.
Quando viene installato il pacchetto PostgreSQL, viene creato un utente amministrativo denominato “postgres”. Per impostazione predefinita, questo utente può connettersi al server PostgreSQL locale senza una password.
Per accedere a psql
terminale come utente “postgres”, eseguire:
sudo -u postgres psql
sudo
comando consente di eseguire comandi come un altro utente.,Dall’interno del psql terminale eseguire \l
o \list
meta-comando per visualizzare un elenco di tutti i database:
\l
L’output includerà il numero di database, il nome del database, il suo proprietario, codifica e privilegi di accesso:
PostgreSQL server dispone di tre database creato per impostazione predefinita, template0, modello1, e postgres. I primi due sono modelli che vengono utilizzati quando si creano nuovi database.,
Se si desidera ottenere informazioni sulle dimensioni dei database, tablespace predefiniti e descrizioni utilizzare \l+
o \list+
. La dimensione del database viene visualizzata solo se l’utente corrente può connettersi ad esso., di tutti i database, senza accedere a psql shell, utilizzare il tag -c
switch come indicato di seguito:
sudo -u postgres psql -c "\l"
un Altro modo per elencare i database è quello di utilizzare la seguente istruzione SQL:
SELECT datname FROM pg_database;
a Differenza di \l
meta-comando query di cui sopra mostra solo i nomi dei database:
datname ----------- postgres odoo template1 template0(4 rows)
Elenco Tabelle #
Per un elenco di tutte le tabelle di un database in particolare il primo, è necessario effettuare la connessione con il \c
o \connect
meta di comando., L’utente che ha effettuato l’accesso al terminale psql deve essere in grado di connettersi al database.,
Per esempio, per connettersi al database denominato “odoo”, devi digitare:
\c odoo
una Volta che il database è acceso, utilizzare il tag \dt
meta-comando per elencare tutte le tabelle del database:
L’output include il numero di tabelle, il nome di ogni tabella e il relativo schema, il tipo e il proprietario:
Se il database è vuoto, l’output sarà simile a questa:
No relations found.
Per ottenere informazioni circa le dimensioni delle tabelle e descrizioni usare \dt+
.,
Conclusione #
Hai imparato come elencare database e tabelle PostgreSQL usando il comandopsql
.
Lascia un commento