Android

Jak zobrazit seznam postgresql databází a tabulek pomocí psql

Python Web Apps with Flask by Ezra Zigmond

Python Web Apps with Flask by Ezra Zigmond

Obsah:

Anonim

Při správě databázových serverů PostgreSQL je jedním z nejčastějších úkolů, který pravděpodobně provedete, seznam databází a jejich tabulek.

PostgreSQL přichází s interaktivním nástrojem s názvem psql který vám umožňuje připojit se k serveru a spouštět dotazy proti němu. Při použití psql můžete také využít jeho meta-příkazů. Tyto příkazy jsou užitečné pro skriptování a správu příkazového řádku. Všechny meta-příkazy začínají nekotovaným zpětným lomítkem a jsou také známé jako příkazy zpětného lomítka.

Tento tutoriál vysvětluje, jak zobrazit databáze a tabulky na serveru PostgreSQL pomocí psql .

Výpis databází

K serveru PostgreSQL se můžete připojit pomocí příkazu psql jako každý uživatel systému. V závislosti na konfiguraci serveru může být pro připojení k terminálu psql nutné zadat heslo. Chcete-li získat přístup k terminálu psql jako aktuálně přihlášený uživatel, jednoduše zadejte psql .

Po instalaci balíčku PostgreSQL se vytvoří administrativní uživatel s názvem „postgres“. Ve výchozím nastavení se tento uživatel může připojit k místnímu serveru PostgreSQL bez hesla.

Chcete-li získat přístup k terminálu psql jako uživatel „postgres“, spusťte:

sudo -u postgres psql Příkaz sudo umožňuje spouštět příkazy jako jiný uživatel.

Z terminálu psql spusťte \l nebo \list meta-příkaz pro výpis všech databází:

\l

Výstup bude zahrnovat počet databází, název každé databáze, jejího vlastníka, kódovací a přístupová oprávnění:

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)

Server PostgreSQL má ve výchozím nastavení tři databáze, template0, template1 a postgres. První dvě jsou šablony, které se používají při vytváření nových databází.

Chcete-li získat seznam všech databází bez přístupu k shellu psql, použijte přepínač -c jak je uvedeno níže:

sudo -u postgres psql -c "\l"

Dalším způsobem výpisu databází je použití následujícího příkazu SQL:

SELECT datname FROM pg_database;

Na rozdíl od \l meta-příkazu bude výše uvedený dotaz zobrazovat pouze názvy databází:

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

Výpisové tabulky

Chcete-li nejprve vypsat všechny tabulky konkrétní databáze, musíte se k ní připojit pomocí příkazu \c nebo \connect meta. Uživatel, ke kterému jste přihlášeni jako k terminálu psql, se musí mít možnost připojit k databázi.

Chcete-li se například připojit k databázi s názvem „odoo“, zadejte:

\c odoo

Jakmile je databáze přepnuta, použijte \dt meta-příkaz k výpisu všech databázových tabulek:

Výstup bude zahrnovat počet tabulek, název každé tabulky a její schéma, typ a vlastníka:

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)

Pokud je databáze prázdná, bude výstup vypadat takto:

No relations found.

Chcete-li získat informace o velikostech tabulek a popisů, použijte \dt+ .

Závěr

Naučili jste se, jak vypsat seznam PostgreSQL databází a tabulek pomocí příkazu psql .

Pokud máte nějaké dotazy, neváhejte a zanechte komentář.

postgresql