Oto kilka sposobów na pokazanie listy baz danych podczas używania psql
z PostgreSQL.
Pierwsza opcja może być użyta, gdy jesteśmy już połączeni z PostgreSQL. Druga opcja może być użyta, gdy obecnie nie mamy połączenia z Postgresem.
\l
i \list
Polecenia
Możemy użyć \l
lub \list
aby zwrócić listę baz danych.
Składnia wygląda tak:
\l[+] or \list[+] [ pattern ]
Części w nawiasach kwadratowych []
są opcjonalne.
Najszybszy/najłatwiejszy sposób na uzyskanie listy baz danych wygląda następująco:
\l
Przykładowy wynik:
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-----------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | | postgres | postgres | 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 | +--------------+----------+----------+-------------+-------------+-----------------------+
Żeby było jasne, uruchomiłem to polecenie, gdy byłem już połączony z PostgreSQL.
Ten sam wynik można uzyskać za pomocą \list
zamiast \l
.
Możemy dodać znak plus (+
), aby zwrócić więcej informacji o każdej tabeli:
\l+
Przykładowy wynik:
List of databases +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | Size | Tablespace | Description | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+ | barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8473 kB | pg_default | | | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8289 kB | pg_default | | | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8225 kB | pg_default | | | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 16 MB | pg_default | | | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8177 kB | pg_default | | | postgres | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | 8097 kB | pg_default | default administrative connection database | | template0 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | unmodifiable empty database | | | | | | | postgres=CTc/postgres | | | | | template1 | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | =c/postgres +| 7905 kB | pg_default | default template for new databases | | | | | | | postgres=CTc/postgres | | | | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+
Otrzymujemy więc kilka dodatkowych kolumn z informacjami o rozmiarze, przestrzeni tabel itp.
Możemy również użyć wzorca, aby zwrócić tylko te bazy danych, które pasują do wzorca:
\l krank*
Przykładowy wynik:
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
-l
i --list
Opcje połączenia
Gdy nie jesteśmy aktualnie połączeni z Postgresem, możemy połączyć się za pomocą -l
lub --list
opcja połączenia.
Gdy określona jest jedna z tych opcji, psql
połączy się z Postgresem, wyświetli listę wszystkich dostępnych baz danych, a następnie wyjdzie.
Można go używać na następujące sposoby:
-l
--list
Więc zamiast używać odwrotnego ukośnika, jest to myślnik lub dwa myślniki (w zależności od tego, którego używasz).
Aby użyć tej opcji, otwórz nowe okno terminala lub wiersz poleceń i wpisz:
psql -l
Zakładając, że znajduje się w twojej zmiennej PATH, która powinna uruchomić PostgreSQL, wyświetlić wszystkie bazy danych, a następnie wyjść.
Przykładowy wynik:
List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges --------------+----------+----------+-------------+-------------+----------------------- barney | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | music | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | pagila | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | pethotel | barney | UTF8 | en_US.UTF-8 | en_US.UTF-8 | postgres | postgres | 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
To samo można zastosować za pomocą --list
:
psql --list