Übersicht
psql ist ein leistungsstarkes Werkzeug für die Interaktion mit PostgreSQL-Datenbanken. Es bietet nicht nur SQL-Befehle, sondern auch verschiedene Metakommandos (Backslash-Befehle), die die Datenbankverwaltung vereinfachen.
Hauptfunktionen
- Ausführen von SQL-Abfragen
- Verwaltung von Datenbanken und Tabellen
- Konfiguration von Benutzern und Berechtigungen
- Ausführen von Skriptdateien
- Bereitstellung einer interaktiven Shell-Umgebung
Wichtige Optionen
Dies sind die wichtigsten Optionen, die Sie in der psql-Befehlszeile verwenden können.
Verbindungsoptionen
Befehlsausführungsoptionen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`psql` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Dies sind verschiedene Anwendungsbeispiele für den psql-Befehl.
Standard-Datenbankverbindung
psql
Stellt eine Verbindung zur Standarddatenbank als Standardbenutzer (aktueller Systembenutzer) her.
Verbindung mit einer bestimmten Datenbank und einem bestimmten Benutzer
psql -U myuser -d mydb -W
Stellt eine Verbindung zur Datenbank 'mydb' als Benutzer 'myuser' her. Es wird zur Eingabe eines Passworts aufgefordert.
Verbindung mit einem Remote-Server
psql -h db.example.com -p 5432 -U postgres
Stellt eine Verbindung zum Port 5432 des Remote-Hosts (db.example.com) als Benutzer 'postgres' her.
Ausführen eines einzelnen SQL-Befehls
psql -U postgres -d postgres -c "SELECT version();"
Führt einen SQL-Befehl zur Abfrage der Datenbankversion aus und beendet psql.
Ausführen einer SQL-Skriptdatei
psql -U postgres -d mydb -f script.sql
Führt die SQL-Befehle in der Datei script.sql aus.
Abrufen der Datenbankliste
psql -l
Zeigt eine Liste aller Datenbanken auf dem aktuellen PostgreSQL-Server an.
Installation
psql wird als Teil des PostgreSQL-Client-Pakets bereitgestellt. Die meisten Linux-Distributionen ermöglichen die separate Installation von Client-Tools, ohne den PostgreSQL-Server installieren zu müssen.
Debian/Ubuntu
sudo apt update
sudo apt install postgresql-client
Installiert die PostgreSQL-Client-Tools mit dem apt-Paketmanager.
RHEL/CentOS/Fedora
sudo dnf install postgresql
Installiert die PostgreSQL-Client-Tools mit dem yum- oder dnf-Paketmanager.
Tipps & Hinweise
Dies sind Tipps und Hinweise zur effizienteren Nutzung von psql.
Wichtige psql-Metakommandos
Sie können verschiedene Aufgaben ausführen, indem Sie Befehle verwenden, die mit einem Backslash (\) in der psql-Shell beginnen.
- \l: Zeigt eine Liste aller Datenbanken an
- \dt: Zeigt eine Liste der Tabellen in der aktuellen Datenbank an
- \du: Zeigt eine Liste aller Benutzer (Rollen) an
- \d <table>: Zeigt die Schema-Informationen einer bestimmten Tabelle an
- \q: Beendet psql
- \?: Zeigt Hilfe zu allen Metakommandos an
Nutzung von Umgebungsvariablen
Sie können die psql-Befehle vereinfachen, indem Sie häufig verwendete Verbindungsinformationen als Umgebungsvariablen festlegen.
- PGHOST: Hostname oder IP-Adresse
- PGPORT: Portnummer
- PGUSER: Benutzername
- PGDATABASE: Datenbankname
- PGPASSWORD: Passwort (aus Sicherheitsgründen nicht empfohlen, Verwendung der .pgpass-Datei empfohlen)
.pgpass-Datei
Um Passwörter sicher zu speichern, ohne sie in der Befehlszeile oder Umgebungsvariablen preiszugeben, ist die Verwendung der Datei ~/.pgpass empfehlenswert. Diese Datei speichert Passwörter für bestimmte Hosts, Ports, Datenbanken und Benutzernamen, sodass psql automatisch authentifiziert werden kann.