sql >> Database teknologi >  >> RDS >> PostgreSQL

2 måder at vise alle databaser i PostgreSQL (psql)

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

  1. 2 måder at finde ud af, hvilket kvartal en date tilhører i MariaDB

  2. SQL Server 2008 tusinde separator for en kolonne

  3. Hvordan kontrollerer man den endelige SQL-parametriserede forespørgsel i PHP med PDO?

  4. Skal jeg indeksere et bitfelt i SQL Server?