Verstehen und verwenden Sie die Postgres -Verbindungszeichenfolge

Verstehen und verwenden Sie die Postgres -Verbindungszeichenfolge
PostgreSQL ist ein leistungsstarkes Open-Source-Datenbanksystem für objektrelationale Datenbank. Es nutzt die SQL -Sprache mit zusätzlichen Funktionen für bessere Sicherheit und Skalierung der Workloads. PostgreSQL ist bekannt für seine Zuverlässigkeit, Datenintegrität, Erweiterbarkeit und robuste Feature-Set. Erfahren Sie mehr über Postgresql.

In dieser Anleitung werden wir uns die Verbindungs ​​-URLs in PostgreSQL ansehen.

Voraussetzungen

Um die in diesem Handbuch gezeigten Schritte auszuführen, benötigen Sie die folgenden Komponenten:

  • Eine funktionierende Linux -Umgebung. Schauen Sie sich beispielsweise diese Anleitung zur Ubuntu -Installation in VirtualBox an.
  • Installiert und konfiguriert die neueste Version von PostgreSQL. Schauen Sie sich die PostgreSQL -Installation auf Ubuntu an.

Optional können Sie ein PostgreSQL-Front-End so konfigurieren, dass sie mit einem GUI-Tool anstelle des Klassiker arbeiten können PSQL Hülse.

Prozentuale Kodierungswerte

Bei der Verwendung der URLs der PostgreSQL-Verbindung wird erwartet, dass sie auf prozentuelle Kodierungswerte stoßen. Das heißt, wenn es in der URL ein Zeichen mit einer besonderen Bedeutung gibt, muss es in den prozentualen Kodierungswert umgewandelt werden, damit die Bibliotheken und Apps ihn ordnungsgemäß interpretieren können.

Hier ist eine kurze Liste, die Sie beachten müssen:

  • (Raum): %20
  • %: %25
  • &: %26
  • /: %2f
  • :: %3a
  • =: %3D
  • ?: %3f
  • @: %40
  • [: %5b
  • ]: %5d

PostgreSQL -Verbindungszeichenfolge

Bei der Entwerfen/Bereitstellung einer von Datenbank unterstützten Anwendung besteht einer der ersten Schritte darin, die App mit der richtigen Datenbank-Engine zu verbinden. Wenn es darum geht, die Verbindungsparameter bereitzustellen, kann dies in zwei Formaten erfolgen:

Einfache Schlüsselwort/Wertzeichenfolgen

$ host = localhost port = 5432 dbname = Demo_db Connection_timeout = 60

Verbindungszeichenfolge

$ postgresql: //:@:/[?]
$ postgres: //:@:/[?]

Wo:

  • Das Schema -Kennung definiert das zu verwendende Protokoll. Die akzeptierten Werte sind Postgres Und PostgreSQL.
  • Benutzerspezifikationen beziehen sich auf die Benutzeranmeldeinformationen, die zur Verbindung zum PostgreSQL erforderlich sind.
    • Benutzername: Der Benutzername des Benutzers.
    • Passwort: Das Passwort des Benutzers.
  • Die Host -Spezifikationen sind der Abschnitt der Verbindungszeichenfolge, in der der Hostname und den Port beschrieben werden, um eine Verbindung zu einer Verbindung herzustellen:
    • Gastgeber: Der Hostname, die IP -Adresse, der DNS -Name oder den lokal auflösbaren Namen des Server.
    • Hafen: Der Port, den der PostgreSQL -Server hört.
  • Der db_name beschreibt den Namen der Datenbank, um eine Verbindung herzustellen.
  • Der zusätzliche_Parameter ist ein Abschnitt, der zusätzliche Parameter enthält, die das Verbindungsverhalten beeinflussen können. Die Liste beginnt mit dem “?" markieren.
    • Parameterpaare: Die Parameterliste besteht aus Schlüsselwertpaaren. Der Wert jedes Schlüssels wird durch ein gleiches (=) Zeichen getrennt. Jedes Schlüsselwertpaar wird durch Amper- und) getrennt (&).

Hier ist ein Beispiel für eine PostgreSQL -Verbindungs ​​-URL, die all diese Komponenten enthält:

$ postgresql: // host1: 123, host2: 456/somitb?target_session_attrs = any & application_name = myApp

Verschiedene Verbindungs ​​-URI -Komponenten

URL -Typspezifikation

Die Verbindungs ​​-URL wird verwendet, um eine Verbindung zu einer PostgreSQL -Datenbank herzustellen. Es ist wichtig, die richtige Protokollspezifikation zu verwenden, damit die Apps und Bibliotheken die bereitgestellten Informationen im richtigen Kontext interpretieren können.

PostgreSQL akzeptiert die folgenden URL -Schema -Designatoren:

$ postgresql: //
$ postgres: //

Benutzername und Passwort

Dieser Abschnitt der URI enthält die Benutzeranmeldeinformationen. Wenn Sie die Standardkonfiguration nicht verwenden, muss dieser Abschnitt enthalten sein.

Um nur den Benutzernamen anzugeben, können Sie die folgende URI -Struktur verwenden:

$ postgres: //@

Wenn ein Passwort erforderlich ist, sieht die Syntax des Abschnitts so aus:

$ postgres: //:@

Hostspezifikation

In diesem Abschnitt wird die Netzwerkadresse des PostgreSQL -Servers angegeben.

Wenn die Anwendung die Verbindung zum Standard -PostgreSQL -Port (5432) auf der lokalen Maschine versuchen soll, sieht die URI so aus:

$ postgers: // localhost

Wenn ein Benutzername und ein Passwort benötigt werden, sieht der aktualisierte URI so aus:

$ postgres: //: @localhost

Wenn sich der PostgreSQL-Server an einem Remote-Host befindet und/oder einen nicht standardmäßigen Anschluss anhört, ändert sich die URI-Struktur dramatisch. Zum Beispiel, um eine Verbindung zu einem PostgreSQL -Server herzustellen, der sich um 192 befindet.168.100.223 und um Port 4444 zuzuhören, sieht die Verbindungs ​​-Uri so aus:

$ postgres: //:@192.168.100.223: 4444

Wir können in diesem Abschnitt zusätzliche Informationen bereitstellen. Zum Beispiel die Fallback -Server. Wenn es einen Fallback PostgreSQL Server mit 192 gibt.168.100.100, das auf Port 3333 hört, können wir es dem folgenden Verbindungs ​​-URI hinzufügen:

$ postgres: //:@192.168.100.223: 4444,192.168.100.100: 3333

In diesem Beispiel versucht die Anwendung zunächst eine Verbindung zu einer Verbindung zu 192.168.100.223: 4444. Nach dem Scheitern versucht es, eine Verbindung zu der Fallback -Adresse herzustellen, die lautet 192.168.100.100: 3333.

Name der Datenbank

Dieser Abschnitt befasst sich mit der Datenbank, zu der die Anwendung verbunden ist. In PostgreSQL müssen Sie beim Erstellen einer Verbindung eine Verbindung zu einer bestimmten Datenbank herstellen.

Der Name der Datenbank ist zu deklarieren, beginnend mit einem Vorwärtsschrägstrich (/) und fährt bis zum Ende der Zeile oder eines Fragezeichens fort?).

Zum Beispiel um eine Verbindung zur Datenbank herzustellen Demo_DB Auf einem PostgreSQL -Server, der 192 hört.168.100.223: 4444, die Verbindungs ​​-Uri sieht so aus:

$ postgres: //:@192.168.100.223: 4444/Demo_DB

Zusätzliche Parameter

Der letzte Teil des Verbindungs ​​-URI ist für zusätzliche Verbindungsparameter reserviert. Die Liste beginnt mit einem Fragezeichen (?) und setzt sich bis zum Ende des URI fort.

Wie bereits erwähnt, sind die Parameter Schlüsselwertpaare. Der Wert eines Schlüssels wird durch ein gleiches Vorzeichen (=) getrennt und jedes Schlüsselwertpaar wird durch ein Ampers und) getrennt (&).

Zum Beispiel die Verbindungszeitüberschreitung Der Parameter deklariert die Zeitüberschreitung für die Verbindung in Sekunden. Um ein Timeout von 30 Sekunden anzuwenden, wenden Sie sie wie folgt auf den URI -Parameter von Verbindungen an:

$ postgres: //:@192.168.100.223: 4444/Demo_DB?connection_timeout = 30

Ein weiterer Parameter, der ist SSLMode Ermittelt die Priorität einer sicheren SSL -TCP/IP -Verbindungsverhandlung. Wir können es dem folgenden Verbindungs ​​-URI hinzufügen:

$ postgres: //:@192.168.100.223: 4444/Demo_DB?connection_timeout = 30 & sslMode = benötigen

Schauen Sie sich die PostgreSQL -Dokumentation in der Liste der verfügbaren Verbindungsparameter an.

Verwenden des PostgreSQL -Verbindungs ​​-URI

In diesem Abschnitt haben wir eine kurze Demonstration der Verwendung der PostgreSQL -Verbindungs ​​-URI in Aktion vorgestellt. Beachten Sie, dass die Implementierung der Verbindungs ​​-URI abhängig von der Programmiersprache, Modulen, Frameworks und anderen Faktoren variiert.

Hier verwenden wir die Verbindungs ​​-URI mit PSQL Um eine Verbindung zu der gewünschten Datenbank herzustellen. Im Allgemeinen eine Verbindung zu einer Datenbank in PSQL, Der Befehl lautet wie folgt:

$ PSQL - -host = - -dbname = --username = -port =

Zum Beispiel, um eine Verbindung zu der Demo_DB -Datenbank herzustellen, die auf einem lokalen PostgreSQL -Server gehostet wird, der Port 5432 als Postgres hört, sieht der Befehl so aus:

$ pSQL -host = localhost - -dbname = Demo_db --username = postgres --port = 5432

Es gibt auch andere Möglichkeiten, eine Verbindung zu einer PostgreSQL -Datenbank herzustellen. Beispielsweise verwenden Sie den folgenden Verbindungs ​​-URI:

$ psql postgres: //:@:/

Mit der Struktur können wir einen einfacheren Befehl erstellen, um eine Verbindung zur Demo_DB -Datenbank herzustellen:

$ psql postgres: // postgres@localhost/deMo_db

Abschluss

In diesem Leitfaden haben wir die PostgreSQL -Verbindungs ​​-URI, wie man die verschiedenen Komponenten interpretiert. Die Verbindungs ​​-URI ist eine interessante Möglichkeit, alle erforderlichen Informationen für eine Verbindung zu einer bestimmten Datenbank in einer einzigen Zeichenfolge zu codieren. Wir haben auch gezeigt, wie eine Verbindungs ​​-URI verwendet wird, um eine Verbindung zu einer PostgreSQL -Datenbank herzustellen.

Möchten Sie mehr über Postgresql erfahren? Schauen Sie sich die Kategorie PostgreSQL an.