Startseite > Sonstige externe Pakete > psql

psql: Interaktives Terminal für PostgreSQL

psql ist ein Befehlszeilen-Client-Tool, mit dem Sie sich mit PostgreSQL-Datenbanken verbinden, SQL-Abfragen ausführen, Datenbankobjekte verwalten und Metadaten abrufen können. Es unterstützt sowohl den interaktiven Modus als auch die Ausführung von Skripten.

Ü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.


Gleiche Kategorie Befehle