Die meisten realen Anwendungen interagieren auf die eine oder andere Weise mit Datenbanken. Datenbanken machen es einfach, Daten zu speichern, zu analysieren und mit ihnen zu interagieren.

Die meisten Programmiersprachen bieten Unterstützung für die Verbindung von Anwendungen mit Datenbanken wie PostgreSQL. Erfahren Sie, wie Sie das node-postgres-Modul verwenden können, um eine Node-Anwendung mit PostgreSQL zu verbinden.

Wie man anfängt

Um mit der Verbindung zu einer lokalen Datenbank zu beginnen, benötigen Sie die PostgreSQL-Server installiert.

PostgresSQL ist eines der am weitesten verbreiteten relationalen Datenbanksysteme aufgrund seiner Flexibilität und Kraft. Sie können es als Alternative zu MySQL verwenden, wenn Ihr Projekt komplex ist oder Sie nach einer Lösung suchen, die das Open-Source-Ethos umfasst.

Erstellen Sie eine Knotenanwendung

Der erste Schritt besteht darin, eine Node-Anwendung zu erstellen, mit der Sie den Verbindungscode testen. Erstellen Sie in Ihrem bevorzugten Ordner einen neuen Ordner.

instagram viewer
mkdir Postgres-Knoten

Navigieren Sie zu dem von Ihnen erstellten Ordner und initialisieren Sie npm.

CD Postgres-Knoten
npm init -y

Dieser Befehl sollte eine generieren Paket.json Datei.

Erstellen Sie als Nächstes eine neue Datei und benennen Sie sie index.js. In dieser Datei verbinden Sie Node mit PostgreSQL.

Verwenden Sie das node-postgres-Modul

Das node-postgres module ist ein npm-Paket, mit dem Sie eine Verbindung zu einer PostgreSQL-Datenbank herstellen und mit ihr interagieren können. Es gibt zwei Optionen, die Sie verwenden können, um Node mithilfe des node-postgres-Moduls mit PostgreSQL zu verbinden: einen einzelnen Client oder einen Verbindungspool. Was sollten Sie also verwenden?

Verwenden Sie einen einzelnen Client, wenn Sie jeweils nur eine statische Verbindung benötigen. Wenn Sie jedoch gleichzeitige und mehrere Anforderungen verwenden müssen, verwenden Sie einen Verbindungspool.

Installieren Sie node-postgres

Führen Sie den folgenden Befehl in Ihrem Terminal aus, um node-postgres zu installieren.

npm Installieren S

Wenn Sie node >= 14.x verwenden, müssen Sie später [email protected] installieren. Sie können die Versionsnummer angeben, indem Sie sie wie folgt an den Installationsbefehl anhängen.

npm Installieren pg=8.7.3

Verbindung zu PostgreSQL herstellen

Das Modul node-postgres erfordert die folgenden Werte, um eine Verbindung zu einer PostgreSQL-Datenbank herzustellen.

  • PGUSER - PostgreSQL-Benutzername zum Verbinden.
  • PGHOST – Der Name des Serverhosts, zu dem eine Verbindung hergestellt werden soll.
  • PGPASSWORD – Das Passwort des PostgreSQL-Servers.
  • PGDATABASE - Der Name der Datenbank, mit der Sie sich verbinden.
  • PGPORT - Die Portnummer, mit der eine Verbindung zum Serverhost hergestellt werden soll.

Erstellen Sie eine .env-Datei und fügen Sie diese Variablen hinzu, indem Sie die entsprechenden Werte aus Ihrer Datenbank ersetzen:

PGUSER=<PGBENUTZER>
PGHOST=<PGHOST>
PGPASSWORT=<PGPASSWORT>
PGDATABASE=<PGDATENBANK>
PGPORT=<PGPORT>

Installieren Sie das dotenv-Paket, um auf die .env-Datei zuzugreifen.

npm Installieren dotenv

Im index.js, importieren und konfigurieren Sie dotenv.

konst dotenv = benötigen("dotenv")
dotenv.config()

Stellen Sie mit einem einzelnen Client eine Verbindung zu einer PostgreSQL-Datenbank her

Der folgende Code zeigt, wie Sie Node mit einem einzigen Client mit einem PostgreSQL-Server verbinden können.

konst { Kunde } = benötigen("pg")
konst dotenv = benötigen("dotenv")
dotenv.config()

konst connectDb = asynchron () => {
Versuchen {
konst Kunde = Neu Klient({
Benutzer: Prozess.env.PGBENUTZER,
Gastgeber: Prozess.env.PGHOST,
Datenbank: Prozess.env.PGDATENBANK,
Passwort: Prozess.env.PGPASSWORT,
Hafen: Prozess.env.PGPORT
})

erwarten client.connect()
const res = warte auf client.query('AUSWÄHLEN * AUS some_table')
Konsole.log (Auflösung)
erwarten client.end()
} Fang (Error) {
Konsole.log (Fehler)
}
}

connectDb()

Verwenden eines Verbindungspools

Wie bereits erwähnt, ermöglicht Ihnen ein Verbindungspool, mehrere Verbindungsanfragen an Ihren Server zu stellen.

konst {Pool} = benötigen("pg");
konst dotenv = benötigen("dotenv");
dotenv.config();

konst connectDb = asynchron () => {
Versuchen {
konst Becken = Neu Schwimmbad({
Benutzer: Prozess.env.PGBENUTZER,
Gastgeber: Prozess.env.PGHOST,
Datenbank: Prozess.env.PGDATENBANK,
Passwort: Prozess.env.PGPASSWORT,
Hafen: Prozess.env.PGPORT,
});

erwarten pool.connect()
const res = warte auf pool.query('AUSWÄHLEN * AUS Kunden')
Konsole.log (Auflösung)
erwarten pool.end()
} Fang (Error) {
Konsole.log (Fehler)
}
}

connectDb()

Mit den obigen Beispielen können Sie die Datenbankkonfiguration über eine .env-Datei steuern. Sie können diese Konfigurationswerte jedoch auch angeben unter Verwendung von Standard-Umgebungsvariablen. Mit diesem Ansatz können Sie die Konfiguration beim Start problemlos ändern.

Betrachten Sie den folgenden Verbindungscode.

konst connectDb = asynchron () => {
Versuchen {
konst Becken = Neu Schwimmbad();
const res = warte auf pool.query('AUSWÄHLEN * AUS Kunden')
Konsole.log (Auflösung)
erwarten pool.end()
} Fang (Error) {
Konsole.log (Fehler)
}
}

In diesem Programm übergeben Sie das Verbindungsobjekt nicht als Argument, wenn Sie Pool initialisieren. Stattdessen müssen Sie die Verbindungsdetails angeben, wenn Sie das Programm wie folgt aufrufen:

PGUSER=<PGBENUTZER> \
PGHOST=<PGHOST> \
PGPASSWORT=<PGPASSWORT> \
PGDATABASE=<PGDATENBANK> \
PGPORT=<PGPORT> \
KnotenIndex.js

Wenn Sie Node auf diese Weise mit PostgreSQL verbinden, können Sie ein besser wiederverwendbares Programm schreiben.

Mehr erreichen mit PostgreSQL

Um eine Anwendung zu erstellen, die mit Datenbanken interagiert, müssen Sie sie zuerst mit der Datenbank verbinden. In diesem Artikel haben Sie gelernt, wie Sie Node mithilfe des node-Postgres-Moduls mit einer PostgreSQL-Datenbank verbinden.

Neben PostgreSQL gibt es andere Datenbankverwaltungssysteme wie MySQL, die Sie in Ihrer Anwendung verwenden können. Das von Ihnen gewählte Datenbanktool sollte am besten mit Ihren Datenanforderungen kompatibel sein.