Auflisten und Wechseln von Datenbanken in PostgreSQL
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:
#!/bin/bash
echo "Available Databases:"
psql -U postgres -c "\l"
read -p "Enter target DB: " db
psql -U postgres -d "$db"c. Umgebungsvariablen verwenden
Exportieren Sie die Standard-DB und den Benutzer für einen schnelleren Wechsel:


