Večina aplikacij iz resničnega sveta tako ali drugače sodeluje z bazami podatkov. Podatkovne baze omogočajo enostavno vztrajanje, analizo in interakcijo s podatki.

Večina programskih jezikov ponuja podporo za povezovanje aplikacij z bazami podatkov, kot je PostgreSQL. Naučite se, kako lahko uporabite modul node-postgres za povezavo aplikacije Node s PostgreSQL.

Kako začeti

Če želite začeti s povezavo z lokalno bazo podatkov, boste morali imeti Nameščen strežnik PostgreSQL.

PostgresSQL je eden najpogostejših sistemov relacijskih baz podatkov zaradi svoje fleksibilnosti in moči. Morda bi ga lahko uporabili kot alternativo MySQL, če je vaš projekt zapleten ali iščete rešitev, ki zajema odprtokodni etos.

Ustvarite aplikacijo Node

Prvi korak je ustvariti aplikacijo Node, ki jo boste uporabili za testiranje kode povezave. V želeni mapi ustvarite novo mapo.

mkdir postgres-vozlišče

Pomaknite se do mape, ki ste jo ustvarili, in inicializirajte npm.

cd postgres-vozlišče
npm init -y

Ta ukaz bi moral ustvariti a package.json mapa.

instagram viewer

Nato ustvarite novo datoteko in jo poimenujte index.js. V tej datoteki boste povezali Node s PostgreSQL.

Uporabite modul node-postgres

The node-postgres modul je paket npm, ki vam omogoča povezovanje in interakcijo z bazo podatkov PostgreSQL. Obstajata dve možnosti, ki ju lahko uporabite za povezavo Node s PostgreSQL z uporabo modula node-postgres: en sam odjemalec ali področje povezav. Kaj bi torej morali uporabiti?

Uporabite enega odjemalca, če potrebujete samo eno statično povezavo naenkrat. Če pa morate uporabiti sočasne in več zahtev, uporabite področje povezav.

Namestite node-postgres

V terminalu zaženite naslednji ukaz, da namestite node-postgres.

npm namestite str

Če uporabljate vozlišče >= 14.x, boste morali [email protected] namestiti pozneje. Številko različice lahko določite tako, da jo dodate k namestitvenemu ukazu, kot je ta.

npm namestite pg=8.7.3

Povezava s PostgreSQL

Modul node-postgres zahteva naslednje vrednosti za povezavo z bazo podatkov PostgreSQL.

  • PGUSER – uporabniško ime PostgreSQL za povezavo kot.
  • PGHOST - Ime gostitelja strežnika, s katerim se želite povezati.
  • PGPASSWORD - Geslo strežnika PostgreSQL.
  • PGDATABASE – Ime baze podatkov, s katero se povezujete.
  • PGPORT – Številka vrat za povezavo na gostitelju strežnika.

Ustvarite datoteko .env in dodajte te spremenljivke ter nadomestite ustrezne vrednosti iz vaše baze podatkov:

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

Namestite paket dotenv za dostop do datoteke .env.

npm namestite dotenv

V index.js, uvozite in konfigurirajte dotenv.

konst dotenv = zahtevajo("dotenv")
dotenv.config()

Povežite se z zbirko podatkov PostgreSQL z uporabo enega odjemalca

Spodnja koda prikazuje, kako lahko povežete Node s strežnikom PostgreSQL z enim samim odjemalcem.

konst {Odjemalec} = zahtevajo("str")
konst dotenv = zahtevajo("dotenv")
dotenv.config()

konst connectDb = async () => {
poskusi {
konst odjemalec = novo Stranka ({
uporabnik: proces.env.PGUSER,
gostitelj: proces.env.PGHOST,
bazo podatkov: proces.env.PGDATABASE,
geslo: proces.env.PGPASSWORD,
pristanišče: proces.env.PGPORT
})

čakati client.connect()
const res = await client.query('IZBERI * IZ neka_miza')
konzolo.log (res)
čakati client.end()
} ujeti (napaka) {
konzolo.log (napaka)
}
}

connectDb()

Uporaba bazena povezav

Kot je bilo že omenjeno, vam področje povezav omogoča več zahtev za povezavo do vašega strežnika.

konst {Pool} = zahtevajo("str");
konst dotenv = zahtevajo("dotenv");
dotenv.config();

konst connectDb = async () => {
poskusi {
konst bazen = novo bazen ({
uporabnik: proces.env.PGUSER,
gostitelj: proces.env.PGHOST,
bazo podatkov: proces.env.PGDATABASE,
geslo: proces.env.PGPASSWORD,
pristanišče: proces.env.PGPORT,
});

čakati pool.connect()
const res = await pool.query('IZBERI * IZ stranke")
konzolo.log (res)
čakati pool.end()
} ujeti (napaka) {
konzolo.log (napaka)
}
}

connectDb()

Zgornji primeri vam omogočajo nadzor nad konfiguracijo baze podatkov prek datoteke .env. Vendar pa lahko podate tudi te konfiguracijske vrednosti z uporabo standardnih spremenljivk okolja. Ta pristop vam omogoča enostavno spreminjanje konfiguracije ob zagonu.

Upoštevajte naslednjo kodo povezave.

konst connectDb = async () => {
poskusi {
konst bazen = novo Bazen();
const res = await pool.query('IZBERI * IZ stranke")
konzolo.log (res)
čakati pool.end()
} ujeti (napaka) {
konzolo.log (napaka)
}
}

V tem programu objekt povezave ne posredujete kot argument pri inicializaciji Pool. Namesto tega morate podati podrobnosti povezave, ko prikličete program takole:

PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASSWORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
vozliščeindeks.js

Takšna povezava Node s PostgreSQL vam omogoča, da napišete program, ki ga je mogoče večkrat uporabiti.

Naredite več s PostgreSQL

Če želite ustvariti aplikacijo, ki deluje z bazami podatkov, jo morate najprej povezati z bazo podatkov. V tem članku ste se naučili, kako povezati Node z bazo podatkov PostgreSQL z uporabo modula node-Postgres.

Poleg PostgreSQL obstajajo tudi drugi sistemi za upravljanje baz podatkov, kot je MySQL, ki jih lahko uporabite v svoji aplikaciji. Orodje zbirke podatkov, ki ga izberete, mora biti najbolj združljivo z vašimi podatkovnimi potrebami.