PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Jak wyświetlić bazy danych i tabele w PostgreSQL za pomocą psql

Jeśli chodzi o administrowanie bazami danych Postgres, dostępna jest szeroka gama narzędzi innych firm, takich jak SQL Workbench/J lub pgAdmin III. Jednak sam Postgres jest dostarczany z potężnym narzędziem wiersza poleceń o nazwie psql co jest świetne dla osób zaznajomionych z terminalem lub szukających zadań administracyjnych skryptów. Jednym z najczęstszych zadań wykonywanych przez administratora bazy danych jest po prostu zapoznanie się ze środowiskiem. Obejmuje to zadawanie pytań typu „Które bazy danych znajdują się na tym serwerze?” lub „Jakie tabele są przechowywane w konkretnej bazie danych na tym serwerze?”. W tym samouczku dowiemy się, jak odpowiedzieć na te kluczowe pytania z wiersza poleceń za pomocą psql .

Meta-polecenia

Oprócz możliwości przesyłania surowych zapytań SQL do serwera za pośrednictwem psql możesz również skorzystać z psql meta-polecenia do uzyskania informacji z serwera. Metapolecenia to polecenia, które są oceniane przez psql i często tłumaczone na język SQL, który jest wystawiany na podstawie tabel systemowych na serwerze, oszczędzając czas administratorów podczas wykonywania rutynowych zadań. Są one oznaczone odwrotnym ukośnikiem, po których następuje polecenie i jego argumenty. Poniżej zobaczymy kilka przykładów.

Bazy danych list

Pojedynczy proces serwera Postgres może zarządzać wieloma bazami danych jednocześnie. Każda baza danych jest przechowywana jako osobny zestaw plików we własnym katalogu w katalogu danych serwera. Aby wyświetlić wszystkie zdefiniowane bazy danych na serwerze, możesz użyć \list metapolecenie lub jego skrót \l .

postgres=# \l
                                  List of databases
   Name    |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
-----------+----------+----------+-------------+-------------+-----------------------
 postgres  | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 sales     | ubuntu   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
 template1 | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
           |          |          |             |             | postgres=CTc/postgres
(4 rows)

Przełączanie baz danych

Większość serwerów Postgres ma domyślnie zdefiniowane trzy bazy danych:template0 , template1 i postgres . template0 i template1 są szkieletowymi bazami danych, które są lub mogą być używane przez CREATE DATABASE Komenda. postgres jest domyślną bazą danych, z którą będziesz się łączyć przed utworzeniem jakichkolwiek innych baz danych. Po utworzeniu innej bazy danych będziesz chciał się do niej przełączyć, aby tworzyć tabele i wstawiać dane. Często podczas pracy z serwerami, które zarządzają wieloma bazami danych, będziesz musiał często przeskakiwać między bazami danych. Można to zrobić za pomocą \connect metapolecenie lub jego skrót \c .

postgres=# \c sales
You are now connected to database "sales" as user "ubuntu".
sales=#

Tabele z listami

Po połączeniu się z bazą danych będziesz chciał sprawdzić, które tabele zostały tam utworzone. Można to zrobić za pomocą \dt metapolecenie. Jeśli jednak nie ma tabel, nie otrzymasz żadnych danych wyjściowych.

sales=# \dt
No relations found.
sales=#

Po utworzeniu tabeli zostanie ona zwrócona na tabelarycznej liście utworzonych tabel.

sales=# CREATE TABLE leads (id INTEGER PRIMARY KEY, name VARCHAR);
CREATE TABLE
sales=# \dt
        List of relations
 Schema | Name  | Type  | Owner
--------+-------+-------+--------
 public | leads | table | ubuntu
(1 row)

sales=#

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ClassNotFoundException z PostgreSQL i JDBC

  2. PostgreSQL, gdzie wszystko w tablicy

  3. DatabaseError:bieżąca transakcja została przerwana, polecenia zignorowane do końca bloku transakcji?

  4. pgpredict – Analiza predykcyjna w PostgreSQL

  5. Jak zaimportować istniejące pliki *.sql w PostgreSQL 8.4?