Her er et par måder at vise en liste over databaser på, når du bruger psql
med PostgreSQL.
Den første mulighed kan bruges, når vi allerede er forbundet til PostgreSQL. Den anden mulighed kan bruges, når vi i øjeblikket ikke har forbindelse til Postgres.
\l
og \list
Kommandoer
Vi kan bruge enten \l
eller \list
for at returnere en liste over databaser.
Syntaksen ser sådan ud:
\l[+] or \list[+] [ pattern ]
Delene i firkantede parenteser []
er valgfri.
Så den hurtigste/nemmeste måde at få en liste over databaser på er sådan her:
\l
Eksempelresultat:
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 | +--------------+----------+----------+-------------+-------------+-----------------------+
For at være klar, kørte jeg den kommando, da jeg allerede var forbundet til PostgreSQL.
Det samme resultat kan opnås ved at bruge \list
i stedet for \l
.
Vi kan tilføje et plustegn (+
) for at returnere flere oplysninger om hver tabel:
\l+
Eksempelresultat:
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 et par ekstra kolonner med info om størrelse, tablespace osv.
Vi kan også bruge et mønster til kun at returnere de databaser, der matcher mønsteret:
\l krank*
Eksempelresultat:
List of databases +--------------+----------+----------+-------------+-------------+-------------------+ | Name | Owner | Encoding | Collate | Ctype | Access privileges | +--------------+----------+----------+-------------+-------------+-------------------+ | krankykranes | postgres | UTF8 | en_US.UTF-8 | en_US.UTF-8 | | +--------------+----------+----------+-------------+-------------+-------------------+
-l
og --list
Tilslutningsmuligheder
Når vi i øjeblikket ikke er forbundet til Postgres, kan vi oprette forbindelse ved hjælp af -l
eller --list
tilslutningsmulighed.
Når en af disse muligheder er angivet, psql
vil oprette forbindelse til Postgres, liste alle tilgængelige databaser, og derefter afslutte.
Det kan bruges på følgende måder:
-l
--list
Så i stedet for at bruge omvendt skråstreg, er det enten en bindestreg eller to bindestreger (afhængigt af hvilken du bruger).
For at bruge denne mulighed skal du åbne et nyt terminalvindue eller kommandoprompt og skrive følgende:
psql -l
Forudsat at det er i din PATH-variabel, skal den starte PostgreSQL, liste alle databaser og derefter afslutte.
Eksempelresultat:
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
Det samme kan anvendes ved hjælp af --list
:
psql --list