De meeste toepassingen in de echte wereld werken op de een of andere manier samen met databases. Databases maken het gemakkelijk om gegevens te bewaren, te analyseren en ermee om te gaan.

De meeste programmeertalen bieden ondersteuning voor het verbinden van applicaties met databases zoals PostgreSQL. Leer hoe u de node-postgres-module kunt gebruiken om een ​​Node-toepassing te verbinden met PostgreSQL.

Hoe te beginnen?

Om te beginnen met het verbinden met een lokale database, moet u de PostgreSQL-server geïnstalleerd.

PostgresSQL is een van de meest voorkomende relationele databasesystemen vanwege zijn flexibiliteit en kracht. U kunt overwegen om het te gebruiken als alternatief voor MySQL als uw project complex is of als u op zoek bent naar een oplossing die het open-source ethos omarmt.

Een knooppunttoepassing maken

De eerste stap is het maken van een Node-toepassing die u gaat gebruiken om de verbindingscode te testen. Maak een nieuwe map aan in de map van uw voorkeur.

mkdir postgres-node
instagram viewer

Navigeer naar de map die u hebt gemaakt en initialiseer npm.

CD postgres-knooppunt
npm init -y

Dit commando zou een. moeten genereren pakket.json het dossier.

Maak vervolgens een nieuw bestand en geef het een naam index.js. In dit bestand verbindt u Node met PostgreSQL.

Node-postgres-module gebruiken

De node-postgres module is een npm-pakket waarmee u verbinding kunt maken met en interactie kunt hebben met een PostgreSQL-database. Er zijn twee opties die u kunt gebruiken om Node te verbinden met PostgreSQL met behulp van de node-postgres-module: een enkele client of een verbindingspool. Dus wat moet je gebruiken?

Gebruik een enkele client als u slechts één statische verbinding tegelijk nodig hebt. Als u echter gelijktijdige en meerdere aanvragen moet gebruiken, gebruikt u een verbindingspool.

Installeer node-postgres

Voer de volgende opdracht uit in uw terminal om node-postgres te installeren.

npm installeren pg

Als u node >= 14.x gebruikt, moet u [email protected] later installeren. U kunt het versienummer specificeren door het als achtervoegsel aan het installatiecommando toe te voegen.

npm installeren pg=8.7.3

Verbinding maken met PostgreSQL

De node-postgres-module vereist de volgende waarden om verbinding te maken met een PostgreSQL-database.

  • PGUSER - PostgreSQL-gebruikersnaam om verbinding te maken als.
  • PGHOST - De naam van de serverhost waarmee verbinding moet worden gemaakt.
  • PGPASSWORD - Het wachtwoord van de PostgreSQL-server.
  • PGDATABASE - De naam van de database waarmee u verbinding maakt.
  • PGPORT - Het poortnummer waarmee verbinding moet worden gemaakt op de serverhost.

Maak een .env-bestand en voeg deze variabelen toe, waarbij u de corresponderende waarden uit uw database vervangt:

PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPASWOORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>

Installeer het dotenv-pakket om toegang te krijgen tot het .env-bestand.

npm installeren dotenv

In index.js, importeer en configureer dotenv.

const dotenv = vereisen("dotenv")
dotenv.config()

Verbinding maken met een PostgreSQL-database met behulp van een enkele client

De onderstaande code laat zien hoe u Node met een enkele client kunt verbinden met een PostgreSQL-server.

const { Klant } = vereisen("pg")
const dotenv = vereisen("dotenv")
dotenv.config()

const connectDb = asynchrone () => {
proberen {
const klant = nieuwe Cliënt({
gebruiker: werkwijze.env.PGUSER,
gastheer: werkwijze.env.PGHOST,
database: werkwijze.env.PGDATABASE,
wachtwoord: werkwijze.env.PGWOORD,
haven: werkwijze.env.PGPORT
})

wachten cliënt.connect()
const res = wacht client.query('KIES * VAN een_tafel')
troosten.log (res)
wachten klant.end()
} vangst (fout) {
troosten.log (fout)
}
}

connectDb()

Een verbindingspool gebruiken

Zoals eerder vermeld, kunt u met een verbindingspool meerdere verbindingsverzoeken naar uw server doen.

const { Zwembad } = vereisen("pag");
const dotenv = vereisen("dotenv");
dotenv.config();

const connectDb = asynchrone () => {
proberen {
const zwembad = nieuwe Zwembad({
gebruiker: werkwijze.env.PGUSER,
gastheer: werkwijze.env.PGHOST,
database: werkwijze.env.PGDATABASE,
wachtwoord: werkwijze.env.PGWOORD,
haven: werkwijze.env.PGPORT,
});

wachten zwembad.connect()
const res = wacht pool.query('KIES * VAN klanten')
troosten.log (res)
wachten zwembad.end()
} vangst (fout) {
troosten.log (fout)
}
}

connectDb()

Met de bovenstaande voorbeelden kunt u de databaseconfiguratie beheren via een .env-bestand. U kunt deze configuratiewaarden echter ook opgeven met behulp van standaard omgevingsvariabelen. Met deze aanpak kunt u de configuratie tijdens het opstarten eenvoudig variëren.

Overweeg de volgende verbindingscode.

const connectDb = asynchrone () => {
proberen {
const zwembad = nieuwe Zwembad();
const res = wacht pool.query('KIES * VAN klanten')
troosten.log (res)
wachten zwembad.end()
} vangst (fout) {
troosten.log (fout)
}
}

In dit programma geef je het verbindingsobject niet door als argument bij het initialiseren van Pool. In plaats daarvan moet u de verbindingsdetails specificeren wanneer u het programma als volgt aanroept:

PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASWOORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
knooppuntinhoudsopgave.js

Door Node op deze manier met PostgreSQL te verbinden, kunt u een meer herbruikbaar programma schrijven.

Meer doen met PostgreSQL

Om een ​​applicatie te maken die interactie heeft met databases, moet u deze eerst verbinden met de database. In dit artikel hebt u geleerd hoe u Node kunt verbinden met een PostgreSQL-database met behulp van de node-Postgres-module.

Naast PostgreSQL zijn er andere databasebeheersystemen zoals MySQL die u in uw toepassing kunt gebruiken. De databasetool die u kiest, moet het meest compatibel zijn met uw gegevensbehoeften.