Was ist eine PostgreSQL-Verbindungszeichenfolge?

Eine PostgreSQL-Verbindungszeichenfolge ist ein formatierter Text, der alle erforderlichen Informationen zum Verbinden mit einer Datenbank zusammenfasst — Hostname, Port, Anmeldedaten, Datenbankname und SSL-Einstellungen — in einem einzelnen Wert. Anwendungen, ORMs und Befehlszeilenwerkzeuge verwenden Verbindungszeichenfolgen, um Datenbanksitzungen herzustellen, ohne dass jeder Parameter separat konfiguriert werden muss. Es gibt zwei gängige Formate: das URI-Format (postgresql://user:password@host:port/dbname) und das libpq-Format mit Schlüssel=Wert (host=localhost port=5432 dbname=mydb). Beide Formate werden von praktisch allen PostgreSQL-Clientbibliotheken unterstützt.

Werkzeugbeschreibung

Dieses Werkzeug generiert gültige PostgreSQL-Verbindungszeichenfolgen aus einzelnen Parametern. Geben Sie den Host, Port, Anmeldedaten, Datenbankname und SSL-Modus ein, und es erzeugt sofort drei einsatzbereite Ausgaben: eine Verbindungs-URL, einen psql-Befehl und eine libpq-Schlüssel=Wert-Zeichenfolge.

Beispiele

Eingabe:

Feld Wert
Host db.example.com
Port 5432
Benutzername alice
Passwort s3cr3t
Datenbank production
SSL-Modus require

Verbindungs-URL:

postgresql://alice:s3cr3t@db.example.com/production?sslmode=require

psql-Befehl:

psql "postgresql://alice:s3cr3t@db.example.com/production?sslmode=require"

libpq-Schlüssel=Wert-Zeichenfolge:

host=db.example.com port=5432 dbname=production user=alice password=s3cr3t sslmode=require

Funktionen

  • Drei Ausgabeformate: Generiert gleichzeitig eine Verbindungs-URL, einen psql-Shell-Befehl und eine libpq-Schlüssel=Wert-Zeichenfolge
  • SSL-Modus-Auswahl: Unterstützt alle sechs PostgreSQL-SSL-Modi — disable, allow, prefer, require, verify-ca und verify-full
  • Intelligente Standardwerte: Lässt Standardwerte aus (Port 5432, sslmode=prefer), um die Ausgabe sauber und minimal zu halten
  • URL-Codierung: Codiert automatisch Benutzernamen, Passwörter und Datenbanknamen mit Sonderzeichen prozentual
  • Port-Validierung: Validiert, dass der Port eine Zahl zwischen 1 und 65535 ist

Anwendungsfälle

  • Anwendungskonfiguration: Generieren Sie eine DATABASE_URL-Umgebungsvariable für Frameworks wie Django, Rails oder jede Anwendung, die eine Verbindungszeichenfolge verwendet
  • Schneller CLI-Zugriff: Erzeugen Sie einen einsatzbereiten psql-Befehl, um sich mit einer Remote-Datenbank zu verbinden, ohne die URI-Syntax auswendig zu lernen
  • Verbindungs-Debugging: Erstellen Sie eine libpq-Zeichenfolge, um Verbindungen mit Low-Level-Treibern oder Werkzeugen zu testen, die das URI-Format nicht akzeptieren

SSL-Modi erklärt

Modus Beschreibung
disable Kein SSL. Verbindung ist unverschlüsselt.
allow Verwendet SSL, wenn der Server es erfordert; andernfalls verbindet sich ohne SSL.
prefer Versucht zuerst SSL; fällt auf unverschlüsselte Verbindung zurück (Standard).
require Erfordert SSL, überprüft aber nicht das Serverzertifikat.
verify-ca Erfordert SSL und überprüft, dass das Serverzertifikat von einer vertrauenswürdigen CA signiert ist.
verify-full Erfordert SSL, überprüft die CA und prüft auch, dass der Hostname dem Zertifikat entspricht.