Här är ett par sätt att visa en lista över databaser när du använder psql
med PostgreSQL.
Det första alternativet kan användas när vi redan är anslutna till PostgreSQL. Det andra alternativet kan användas när vi för närvarande inte har en anslutning till Postgres.
\l
och \list
Kommandon
Vi kan använda antingen \l
eller \list
för att returnera en lista med databaser.
Syntaxen ser ut så här:
\l[+] or \list[+] [ pattern ]
Delarna inom hakparenteser []
är valfria.
Så det snabbaste/enklaste sättet att få en lista över databaser är så här:
\l
Exempelresultat:
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 | +--------------+----------+----------+-------------+-------------+-----------------------+
Bara för att vara tydlig, körde jag det kommandot när jag redan var ansluten till PostgreSQL.
Samma resultat kan uppnås genom att använda \list
istället för \l
.
Vi kan lägga till ett plustecken (+
) för att returnera mer information om varje tabell:
\l+
Exempelresultat:
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 | | | | +--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+
Så vi får några extra kolumner med info om storlek, bordsyta etc.
Vi kan också använda ett mönster för att endast returnera de databaser som matchar mönstret:
\l krank*
Exempelresultat:
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
-l
och --list
Anslutningsalternativ
När vi för närvarande inte är anslutna till Postgres kan vi ansluta med -l
eller --list
anslutningsalternativ.
När ett av dessa alternativ är specificerat, psql
kommer att ansluta till Postgres, lista alla tillgängliga databaser och avsluta.
Den kan användas på följande sätt:
-l
--list
Så istället för att använda omvänt snedstreck är det antingen ett bindestreck eller två bindestreck (beroende på vilken du använder).
För att använda det här alternativet, öppna ett nytt terminalfönster eller kommandotolk och skriv följande:
psql -l
Förutsatt att det finns i din PATH-variabel bör den starta PostgreSQL, lista alla databaser och sedan avsluta.
Exempelresultat:
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
Detsamma kan tillämpas med --list
:
psql --list