sql >> Database >  >> RDS >> PostgreSQL

2 manieren om alle databases in PostgreSQL (psql) te tonen

Hier zijn een aantal manieren om een ​​lijst met databases te tonen bij gebruik van psql met PostgreSQL.

De eerste optie kan worden gebruikt wanneer we al zijn verbonden met PostgreSQL. De tweede optie kan worden gebruikt als we momenteel geen verbinding met Postgres hebben.

De \l en \list Commando's

We kunnen ofwel \l . gebruiken of \list om een ​​lijst met databases te retourneren.

De syntaxis gaat als volgt:

\l[+] or \list[+] [ pattern ]

De delen tussen vierkante haken [] zijn optioneel.

Dus de snelste/gemakkelijkste manier om een ​​lijst met databases te krijgen is als volgt:

\l

Voorbeeld resultaat:

                                    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 |
+--------------+----------+----------+-------------+-------------+-----------------------+

Voor de duidelijkheid:ik heb dat commando uitgevoerd toen ik al verbonden was met PostgreSQL.

Hetzelfde resultaat kan worden verkregen door \list . te gebruiken in plaats van \l .

We kunnen een plusteken toevoegen (+ ) om meer informatie over elke tafel terug te geven:

\l+

Voorbeeld resultaat:

                                                                      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 |         |            |                                            |
+--------------+----------+----------+-------------+-------------+-----------------------+---------+------------+--------------------------------------------+

Dus we krijgen een paar extra kolommen met informatie over grootte, tabelruimte, enz.

We kunnen een patroon ook gebruiken om alleen die databases te retourneren die overeenkomen met het patroon:

\l krank*

Voorbeeld resultaat:

                                  List of databases
+--------------+----------+----------+-------------+-------------+-------------------+
|     Name     |  Owner   | Encoding |   Collate   |    Ctype    | Access privileges |
+--------------+----------+----------+-------------+-------------+-------------------+
| krankykranes | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 |                   |
+--------------+----------+----------+-------------+-------------+-------------------+

De -l en --list Verbindingsopties

Als we momenteel niet verbonden zijn met Postgres, kunnen we verbinding maken met de -l of --list verbinding optie.

Wanneer een van deze opties is opgegeven, psql maakt verbinding met Postgres, geeft alle beschikbare databases weer en sluit af.

Het kan op de volgende manieren worden gebruikt:

-l
--list

Dus in plaats van de backslash te gebruiken, is het een koppelteken of twee koppeltekens (afhankelijk van welke je gebruikt).

Om deze optie te gebruiken, opent u een nieuw terminalvenster of opdrachtprompt en typt u het volgende:

psql -l

Ervan uitgaande dat het in uw PATH-variabele staat, zou dat PostgreSQL moeten starten, alle databases moeten weergeven en vervolgens moeten afsluiten.

Voorbeeld resultaat:

                                   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

Hetzelfde kan worden toegepast met --list :

psql --list

  1. MySQL-fout::'Toegang geweigerd voor gebruiker 'root'@'localhost'

  2. Benchmarking databases 101 - deel 1

  3. Netbeheer upgraden na handmatige DB-upgrade

  4. De rollen gebruiken die zijn veranderd in MySQL 8.0