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.

instagram viewer

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.