De fleste applikasjoner i den virkelige verden samhandler med databaser på en eller annen måte. Databaser gjør det enkelt å fortsette, analysere og samhandle med data.
De fleste programmeringsspråk tilbyr støtte for å koble applikasjoner til databaser som PostgreSQL. Lær hvordan du kan bruke node-postgres-modulen til å koble en Node-applikasjon til PostgreSQL.
Hvordan komme i gang
For å begynne med å koble til en lokal database, må du ha PostgreSQL-serveren er installert.
PostgresSQL er et av de vanligste relasjonsdatabasesystemene på grunn av sin fleksibilitet og kraft. Du kan vurdere å bruke det som et alternativ til MySQL hvis prosjektet ditt er komplekst eller du leter etter en løsning som omfavner åpen kildekode-etos.
Opprett en nodeapplikasjon
Det første trinnet er å lage en Node-applikasjon som du skal bruke til å teste ut tilkoblingskoden. Opprett en ny mappe i din foretrukne mappe.
mkdir postgres-node
Naviger til mappen du opprettet og initialiser npm.
cd postgres-node
npm init -y
Denne kommandoen skal generere en package.json fil.
Deretter oppretter du en ny fil og gir den et navn index.js. Du vil koble Node til PostgreSQL i denne filen.
Bruk node-postgres-modulen
De node-postgres modul er en npm-pakke som lar deg koble til og samhandle med en PostgreSQL-database. Det er to alternativer du kan bruke for å koble Node med PostgreSQL ved å bruke node-postgres-modulen: en enkelt klient eller en tilkoblingspool. Så hva bør du bruke?
Bruk en enkelt klient hvis du bare trenger én statisk tilkobling om gangen. Men hvis du trenger å bruke samtidige og flere forespørsler, bruk en tilkoblingspool.
Installer node-postgres
Kjør følgende kommando i terminalen for å installere node-postgres.
npm installere s
Hvis du bruker node >= 14.x, må du installere [email protected] o senere. Du kan spesifisere versjonsnummeret ved å suffikse det til installasjonskommandoen slik.
npm installere pg=8.7.3
Kobler til PostgreSQL
Node-postgres-modulen krever følgende verdier for å koble til en PostgreSQL-database.
- PGUSER - PostgreSQL brukernavn å koble til som.
- PGHOST – Navnet på serververten som skal kobles til.
- PGPASSWORD - Passordet til PostgreSQL-serveren.
- PGDATABASE - Navnet på databasen du kobler til.
- PGPORT - Portnummeret som skal kobles til på serververten.
Opprett en .env-fil og legg til disse variablene, og erstatte de tilsvarende verdiene fra databasen din:
PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSORD=<PGPASSORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
Installer dotenv-pakken for å få tilgang til .env-filen.
npm installere dotenv
I index.js, importer og konfigurer dotenv.
konst dotenv = krever("dotenv")
dotenv.config()
Koble til en PostgreSQL-database ved å bruke en enkelt klient
Koden nedenfor viser hvordan du kan koble Node til en PostgreSQL-server ved å bruke en enkelt klient.
konst { Klient } = krever("sid")
konst dotenv = krever("dotenv")
dotenv.config()konst connectDb = asynkron () => {
prøve {
konst klient = ny Klient({
bruker: prosess.env.PGUSER,
vert: prosess.env.PGHOST,
database: prosess.env.PGDATABASE,
passord: prosess.env.PGPASSWORD,
havn: prosess.env.PGPORT
})avvente client.connect()
const res = await client.query('Å VELGE * FRA noen_tabell')
konsoll.log (res)
avvente client.end()
} å fange (feil) {
konsoll.log (feil)
}
}
connectDb()
Bruke et tilkoblingsbasseng
Som allerede nevnt, lar en tilkoblingspool deg lage flere tilkoblingsforespørsler til serveren din.
konst { Pool } = krever("pg");
konst dotenv = krever("dotenv");
dotenv.config();konst connectDb = asynkron () => {
prøve {
konst basseng = ny Basseng({
bruker: prosess.env.PGUSER,
vert: prosess.env.PGHOST,
database: prosess.env.PGDATABASE,
passord: prosess.env.PGPASSWORD,
havn: prosess.env.PGPORT,
});avvente pool.connect()
const res = await pool.query('Å VELGE * FRA kunders)
konsoll.log (res)
avvente pool.end()
} å fange (feil) {
konsoll.log (feil)
}
}
connectDb()
Eksemplene ovenfor lar deg kontrollere databasekonfigurasjonen via en .env-fil. Du kan imidlertid også oppgi disse konfigurasjonsverdiene ved å bruke standard miljøvariabler. Denne tilnærmingen lar deg enkelt variere konfigurasjonen ved oppstart.
Tenk på følgende tilkoblingskode.
konst connectDb = asynkron () => {
prøve {
konst basseng = ny Basseng();
const res = await pool.query('Å VELGE * FRA kunders)
konsoll.log (res)
avvente pool.end()
} å fange (feil) {
konsoll.log (feil)
}
}
I dette programmet sender du ikke tilkoblingsobjektet som et argument når du initialiserer Pool. I stedet må du spesifisere tilkoblingsdetaljene når du starter programmet slik:
PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSORD=<PGPASSORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
nodeindeks.js
Å koble Node til PostgreSQL på denne måten lar deg skrive et mer gjenbrukbart program.
Gjør mer med PostgreSQL
For å lage en applikasjon som samhandler med databaser, må du først koble den til databasen. I denne artikkelen lærte du hvordan du kobler Node til en PostgreSQL-database ved å bruke node-Postgres-modulen.
Bortsett fra PostgreSQL, er det andre databasebehandlingssystemer som MySQL du kan bruke i applikasjonen din. Databaseverktøyet du velger bør være det mest kompatible med dine databehov.