androide

Come elencare database e tabelle postgresql usando psql

Creare un nuovo database LEGO con LibreOffice Base e importare file CSV

Creare un nuovo database LEGO con LibreOffice Base e importare file CSV

Sommario:

Anonim

Quando si amministrano i server di database PostgreSQL, una delle attività più comuni che probabilmente si eseguirà è 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 usi psql puoi anche sfruttare i suoi meta-comandi. Questi comandi sono utili per gli script e l'amministrazione della riga di comando. Tutti i meta-comandi iniziano con una barra rovesciata non quotata e sono anche noti come comandi barra rovesciata.

Questo tutorial spiega come mostrare database e tabelle in un server PostgreSQL usando psql .

Database di quotazione

Puoi connetterti al server PostgreSQL usando il comando psql come qualsiasi utente del sistema. A seconda della configurazione del server, l'utente potrebbe dover inserire la propria password per connettersi al terminale psql. Per accedere al terminale psql come utente attualmente connesso, digitare semplicemente psql .

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 al terminale psql come utente "postgres", eseguire:

sudo -u postgres psql Il comando sudo consente di eseguire comandi come un altro utente.

Dall'interno del terminale psql eseguire il comando \l o \list per elencare tutti i database:

\l

L'output includerà il numero di database, il nome di ciascun database, il suo proprietario, la codifica e i privilegi di accesso:

List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges -----------+----------+----------+---------+---------+----------------------- odoo | odoo | UTF8 | C | C.UTF-8 | postgres | postgres | UTF8 | C.UTF-8 | C.UTF-8 | template0 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | C.UTF-8 | C.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 rows)

Il server PostgreSQL ha tre database creati per impostazione predefinita, template0, template1 e postgres. I primi due sono modelli che vengono utilizzati durante la creazione di nuovi database.

Per ottenere un elenco di tutti i database senza accedere alla shell psql, utilizzare l' -c come mostrato di seguito:

sudo -u postgres psql -c "\l"

Un altro modo per elencare i database è usare la seguente istruzione SQL:

SELECT datname FROM pg_database;

A differenza del meta-comando \l la query sopra mostrerà solo i nomi dei database:

datname ----------- postgres odoo template1 template0 (4 rows)

Tabelle di elenco

Per elencare prima tutte le tabelle di un determinato database, è necessario connettersi ad esso utilizzando il meta-comando \c o \connect . L'utente che ha effettuato l'accesso al terminale psql deve essere in grado di connettersi al database.

Ad esempio, per connettersi al database denominato "odoo", digitare:

\c odoo

Dopo aver cambiato il database, utilizzare il meta-comando \dt per elencare tutte le tabelle del database:

L'output includerà il numero delle tabelle, il nome di ciascuna tabella e il suo schema, tipo e proprietario:

List of relations Schema | Name | Type | Owner --------+-----------------------------------------------------+-------+------- public | base_import_import | table | odoo public | base_import_mapping | table | odoo public | base_import_tests_models_char | table | odoo… public | web_editor_converter_test_sub | table | odoo public | web_tour_tour | table | odoo public | wizard_ir_model_menu_create | table | odoo (107 rows)

Se il database è vuoto, l'output sarà simile al seguente:

No relations found.

Per ottenere informazioni sulle dimensioni delle tabelle e sulle descrizioni, utilizzare \dt+ .

Conclusione

Hai imparato a elencare i database e le tabelle PostgreSQL usando il comando psql .

Sentiti libero di lasciare un commento in caso di domande.

PostgreSQL