Android

Jak wyświetlić listę baz danych i tabel postgresql przy użyciu psql

Kurs 77 – PostgreSQL - Utworzenie bazy danych + tabela

Kurs 77 – PostgreSQL - Utworzenie bazy danych + tabela

Spisu treści:

Anonim

Podczas administrowania serwerami baz danych PostgreSQL jednym z najczęstszych zadań, które najprawdopodobniej będziesz wykonywać, jest wyświetlanie baz danych i ich tabel.

PostgreSQL zawiera interaktywne narzędzie o nazwie psql które pozwala łączyć się z serwerem i uruchamiać zapytania na nim. Korzystając z psql , możesz również skorzystać z jego meta-poleceń. Te polecenia są przydatne do tworzenia skryptów i administrowania wierszem poleceń. Wszystkie meta-polecenia zaczynają się od niecytowanego odwrotnego ukośnika i są również znane jako polecenia odwrotnego ukośnika.

W tym samouczku wyjaśniono, jak wyświetlać bazy danych i tabele na serwerze PostgreSQL przy użyciu psql .

Wyświetlanie baz danych

Możesz połączyć się z serwerem PostgreSQL za pomocą polecenia psql jak każdy użytkownik systemu. W zależności od konfiguracji serwera użytkownik może potrzebować wprowadzić hasło, aby połączyć się z terminalem psql. Aby uzyskać dostęp do terminala psql jako użytkownik aktualnie zalogowany, po prostu wpisz psql .

Po zainstalowaniu pakietu PostgreSQL tworzony jest użytkownik administracyjny o nazwie „postgres”. Domyślnie ten użytkownik może połączyć się z lokalnym serwerem PostgreSQL bez hasła.

Aby uzyskać dostęp do terminala psql jako użytkownik „postgres”, uruchom:

sudo -u postgres psql Polecenie sudo umożliwia uruchamianie poleceń jako inny użytkownik.

Z poziomu terminala psql wykonaj polecenie \l lub \list meta-polecenie, aby wyświetlić listę wszystkich baz danych:

\l

Dane wyjściowe będą zawierać liczbę baz danych, nazwę każdej bazy danych, jej właściciela, uprawnienia do kodowania i dostępu:

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)

Serwer PostgreSQL ma domyślnie utworzone trzy bazy danych: template0, template1 i postgres. Pierwsze dwa to szablony używane podczas tworzenia nowych baz danych.

Aby uzyskać listę wszystkich baz danych bez dostępu do powłoki psql, użyj przełącznika -c jak pokazano poniżej:

sudo -u postgres psql -c "\l"

Innym sposobem wyświetlenia baz danych jest użycie następującej instrukcji SQL:

SELECT datname FROM pg_database;

W przeciwieństwie do meta-polecenia \l powyższe zapytanie wyświetla tylko nazwy baz danych:

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

Tabele aukcji

Aby wyświetlić wszystkie tabele konkretnej bazy danych, najpierw musisz się z nią połączyć za pomocą meta-polecenia \c lub \connect . Użytkownik zalogowany do terminala psql musi mieć możliwość połączenia się z bazą danych.

Na przykład, aby połączyć się z bazą danych o nazwie „odoo”, wpisz:

\c odoo

Po przełączeniu bazy danych użyj meta-polecenia \dt aby wyświetlić listę wszystkich tabel bazy danych:

Dane wyjściowe będą zawierać liczbę tabel, nazwę każdej tabeli oraz jej schemat, typ i właściciela:

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)

Jeśli baza danych jest pusta, dane wyjściowe będą wyglądać następująco:

No relations found.

Aby uzyskać informacje o rozmiarach tabel i opisach, użyj \dt+ .

Wniosek

Nauczyłeś się, jak wyświetlić listę baz danych i tabel PostgreSQL za pomocą polecenia psql .

Jeśli masz jakieś pytania, zostaw komentarz.

postgresql