Auflisten und Umschalten von Datenbanken in PostgreSQL
PostgreSQL, ein leistungsstarkes objektrelationales Open-Source-Datenbanksystem, bietet eine Vielzahl von Werkzeugen und Funktionen für die effiziente Verwaltung von Datenbanken. Unabhängig davon, ob Sie ein Datenbankadministrator oder ein Backend-Entwickler sind, ist das Wissen, wie man Datenbanken auflistet und zwischen ihnen wechselt, grundlegend für die Navigation in Umgebungen mit mehreren Datenbanken.
1. Voraussetzungen
Bevor Sie beginnen, stellen Sie sicher, dass:
PostgreSQL auf Ihrem System installiert ist(psql ist zugänglich).
Sie haben die entsprechenden Berechtigungen (z.B. Superuser oder Rolle mit Verbindungsrechten).
Sie können sich beim PostgreSQL-Server mit einem gültigen Benutzer authentifizieren.
2. Auflisten von Datenbanken in PostgreSQL
🔍 Methode 1: Verwendung des Meta-Befehls psql
Starten Sie das interaktive Terminal psql und führen Sie es aus:
Oder die erweiterte Form:
Dies gibt eine Liste aller Datenbanken zurück:
Name
Owner
Encoding
Collation
Ctype
Access privileges
Methode 2: SQL-Abfrage verwenden
Alternativ können Sie auch diese SQL-Anweisung ausführen:
Diese Abfrage schließt Vorlagedatenbanken (template0, template1) aus und zeigt vom Benutzer erstellte Datenbanken an.
🛠️ Methode 3: Befehlszeilen-Shell
Außerhalb von psql, von Ihrem Terminal aus:
Sie können auch psql -l verwenden:
3. Umschalten von Datenbanken
Im Gegensatz zu einigen anderen RDBMS (z.B. MySQL) unterstützt PostgreSQL nicht den Wechsel von Datenbanken innerhalb der gleichen Sitzung mit einem Befehl wie USE dbname;.
Warum ist das so?
PostgreSQL stellt zur Anmeldezeit eine Verbindung zu einer bestimmten Datenbank her. Um auf eine andere Datenbank zuzugreifen, müssen Sie die Verbindung trennen und neu aufbauen.
Empfohlene Vorgehensweise:
Beenden Sie die aktuelle Sitzung und verbinden Sie sich erneut mit der gewünschten Datenbank:
Danach:
Oder direkt:
Beispiel:
4. Tipps für einen effizienten Multi-Database-Workflow
a. Verwenden Sie .pgpass für passwortloses Umschalten
Erstellen Sie eine .pgpass-Datei, um die Authentifizierung zu automatisieren:
Stellen Sie sicher, dass die Datei die richtigen Berechtigungen hat:
b. Automatisieren mit Shell-Skripten
Erstellen Sie ein Skript zum Auflisten und Umschalten:
c. Umgebungsvariablen verwenden
Exportieren Sie die Standard-DB und den Benutzer für einen schnelleren Wechsel:
5. Arbeiten mit PgAdmin und anderen GUIs
In PgAdmin:
Klicken Sie auf die Servergruppe.
Klicken Sie mit der rechten Maustaste → Verbinden mit einer Datenbank.
Verwenden Sie das Dropdown-Menü des Abfragetools, um die Datenbank zu wechseln (erstellt eine neue Registerkarte pro DB).
Viele Tools (DBeaver, DataGrip) ermöglichen mehrere Verbindungen mit Datenbankansichten auf Registerkarten.
6. Bonus: Aktuelle Datenbank prüfen
Finden Sie in psql Ihre aktuelle Datenbank:
Oder verwenden Sie:
Schlussfolgerung
PostgreSQL erlaubt zwar keinen sitzungsinternen Datenbankwechsel wie einige andere SQL-Engines, aber sein robustes Verbindungsmodell gewährleistet eine saubere, konsistente Zugriffskontrolle und Ressourcenverwaltung. Wenn Sie die Auflistungstechniken beherrschen und kluge Praktiken für die Wiederverbindung anwenden, können Sie PostgreSQL-Datenbanken in jeder Umgebung effizient verwalten und zwischen ihnen wechseln – egal ob über CLI, GUI oder Skripte.


