De fleste applikationer i den virkelige verden interagerer med databaser på en eller anden måde. Databaser gør det nemt at fortsætte, analysere og interagere med data.
De fleste programmeringssprog tilbyder support til at forbinde applikationer til databaser som PostgreSQL. Lær, hvordan du kan bruge node-postgres-modulet til at forbinde en Node-applikation til PostgreSQL.
Sådan kommer du i gang
For at begynde med at oprette forbindelse til en lokal database, skal du have PostgreSQL server installeret.
PostgresSQL er et af de mest almindelige relationelle databasesystemer på grund af dens fleksibilitet og kraft. Du kan overveje at bruge det som et alternativ til MySQL, hvis dit projekt er komplekst, eller du leder efter en løsning, der omfavner open source-etos.
Opret en nodeapplikation
Det første trin er at oprette en Node-applikation, som du vil bruge til at teste forbindelseskoden. Opret en ny mappe i din foretrukne mappe.
mkdir postgres-node
Naviger til den mappe, du har oprettet, og initialiser npm.
cd postgres-node
npm init -y
Denne kommando skal generere en package.json fil.
Derefter skal du oprette en ny fil og navngive den index.js. Du vil forbinde Node til PostgreSQL i denne fil.
Brug node-postgres modul
Det node-postgres modul er en npm-pakke, der giver dig mulighed for at oprette forbindelse til og interagere med en PostgreSQL-database. Der er to muligheder, du kan bruge til at forbinde Node med PostgreSQL ved hjælp af node-postgres-modulet: en enkelt klient eller en forbindelsespulje. Så hvad skal du bruge?
Brug en enkelt klient, hvis du kun har brug for én statisk forbindelse ad gangen. Men hvis du skal bruge samtidige og flere anmodninger, skal du bruge en forbindelsespulje.
Installer node-postgres
Kør følgende kommando i din terminal for at installere node-postgres.
npm installere s
Hvis du bruger node >= 14.x, skal du installere pg@8.2.x o senere. Du kan angive versionsnummeret ved at suffikse det til installationskommandoen på denne måde.
npm installere pg=8.7.3
Opretter forbindelse til PostgreSQL
Node-postgres-modulet kræver følgende værdier for at oprette forbindelse til en PostgreSQL-database.
- PGUSER - PostgreSQL brugernavn at forbinde som.
- PGHOST - Navnet på serverværten, der skal oprettes forbindelse til.
- PGPASSWORD - Adgangskoden til PostgreSQL-serveren.
- PGDATABASE - Navnet på den database, du opretter forbindelse til.
- PGPORT - Portnummeret, der skal oprettes forbindelse til hos serverværten.
Opret en .env-fil, og tilføj disse variabler og erstatter de tilsvarende værdier fra din database:
PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPASSWORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
Installer dotenv-pakken for at få adgang til .env-filen.
npm installere dotenv
I index.js, importer og konfigurer dotenv.
konst dotenv = kræve("dotenv")
dotenv.config()
Opret forbindelse til en PostgreSQL-database ved hjælp af en enkelt klient
Koden nedenfor viser, hvordan du kan forbinde Node til en PostgreSQL-server ved hjælp af en enkelt klient.
konst { Klient } = kræve("side")
konst dotenv = kræve("dotenv")
dotenv.config()konst connectDb = asynkron () => {
prøve {
konst klient = ny Klient({
bruger: behandle.env.PGUSER,
vært: behandle.env.PGHOST,
database: behandle.env.PGDATABASE,
adgangskode: behandle.env.PGPASSWORD,
Havn: behandle.env.PGPORT
})vente client.connect()
const res = afvent klient.query('VÆLG * FRA noget_bord')
konsol.log (res)
vente client.end()
} fangst (fejl) {
konsol.log (fejl)
}
}
connectDb()
Brug af en forbindelsespool
Som allerede nævnt giver en forbindelsespulje dig mulighed for at lave flere forbindelsesanmodninger til din server.
konst { Pool } = kræve("pg");
konst dotenv = kræve("dotenv");
dotenv.config();konst connectDb = asynkron () => {
prøve {
konst pool = ny Pool({
bruger: behandle.env.PGUSER,
vært: behandle.env.PGHOST,
database: behandle.env.PGDATABASE,
adgangskode: behandle.env.PGPASSWORD,
Havn: behandle.env.PGPORT,
});vente pool.connect()
const res = await pool.query('VÆLG * FRA kunder')
konsol.log (res)
vente pool.end()
} fangst (fejl) {
konsol.log (fejl)
}
}
connectDb()
Ovenstående eksempler lader dig styre databasekonfigurationen via en .env-fil. Du kan dog også angive disse konfigurationsværdier ved hjælp af standard miljøvariabler. Denne tilgang lader dig nemt variere konfigurationen ved opstart.
Overvej følgende forbindelseskode.
konst connectDb = asynkron () => {
prøve {
konst pool = ny Pool();
const res = await pool.query('VÆLG * FRA kunder')
konsol.log (res)
vente pool.end()
} fangst (fejl) {
konsol.log (fejl)
}
}
I dette program sender du ikke forbindelsesobjektet som et argument, når du initialiserer Pool. I stedet skal du angive forbindelsesdetaljerne, når du starter programmet på denne måde:
PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASSWORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
nodeindeks.js
At forbinde Node til PostgreSQL på denne måde giver dig mulighed for at skrive et mere genanvendeligt program.
Gør mere med PostgreSQL
For at oprette et program, der interagerer med databaser, skal du først forbinde det til databasen. I denne artikel lærte du, hvordan du forbinder Node til en PostgreSQL-database ved hjælp af node-Postgres-modulet.
Bortset fra PostgreSQL er der andre databasestyringssystemer som MySQL, du kan bruge i din applikation. Det databaseværktøj, du vælger, bør være det mest kompatible med dine databehov.