Hier sind ein paar Möglichkeiten, eine Liste von Datenbanken anzuzeigen, wenn Sie psql
verwenden mit PostgreSQL.
Die erste Option kann verwendet werden, wenn wir bereits mit PostgreSQL verbunden sind. Die zweite Option kann verwendet werden, wenn wir derzeit keine Verbindung zu Postgres haben.
Der \l
und \list
Befehle
Wir können entweder \l
verwenden oder \list
um eine Liste von Datenbanken zurückzugeben.
Die Syntax lautet wie folgt:
\l[+] or \list[+] [ pattern ]
Die Teile in eckigen Klammern []
sind optional.
Der schnellste/einfachste Weg, um eine Liste der Datenbanken zu erhalten, ist also wie folgt:
\l
Beispielergebnis:
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 | +--------------+----------+----------+-------------+-------------+-----------------------+
Nur um das klarzustellen, ich habe diesen Befehl ausgeführt, als ich bereits mit PostgreSQL verbunden war.
Dasselbe Ergebnis kann mit \list
erzielt werden statt \l
.
Wir können ein Pluszeichen hinzufügen (+
), um weitere Informationen zu jeder Tabelle zurückzugeben:
\l+
Beispielergebnis:
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 | | | | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+
Wir bekommen also ein paar zusätzliche Spalten mit Informationen über Größe, Tablespace usw.
Wir können auch ein Muster verwenden, um nur die Datenbanken zurückzugeben, die dem Muster entsprechen:
\l krank*
Beispielergebnis:
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
Das -l
und --list
Verbindungsoptionen
Wenn wir gerade nicht mit Postgres verbunden sind, können wir uns mit -l
verbinden oder --list
Anschlussmöglichkeit.
Wenn eine dieser Optionen angegeben wird, psql
stellt eine Verbindung zu Postgres her, listet alle verfügbaren Datenbanken auf und beendet sich dann.
Es kann auf folgende Weise verwendet werden:
-l
--list
Anstelle des umgekehrten Schrägstrichs ist es also entweder ein Bindestrich oder zwei Bindestriche (je nachdem, welchen Sie verwenden).
Um diese Option zu verwenden, öffnen Sie ein neues Terminalfenster oder eine Eingabeaufforderung und geben Sie Folgendes ein:
psql -l
Angenommen, es befindet sich in Ihrer PATH-Variablen, die PostgreSQL starten, alle Datenbanken auflisten und dann beenden sollte.
Beispielergebnis:
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
Dasselbe kann mit --list
angewendet werden :
psql --list