Dauguma realaus pasaulio taikomųjų programų vienaip ar kitaip sąveikauja su duomenų bazėmis. Duomenų bazės leidžia lengvai išlaikyti, analizuoti ir sąveikauti su duomenimis.

Dauguma programavimo kalbų palaiko programų prijungimą prie duomenų bazių, tokių kaip PostgreSQL. Sužinokite, kaip galite naudoti modulį node-postgres, kad prijungtumėte mazgo programą prie PostgreSQL.

Kaip pradėti

Norėdami pradėti prisijungdami prie vietinės duomenų bazės, turėsite turėti Įdiegtas PostgreSQL serveris.

PostgresSQL yra viena iš labiausiai paplitusių reliacinių duomenų bazių sistemų dėl savo lankstumo ir galios. Galite apsvarstyti galimybę naudoti jį kaip alternatyvą MySQL, jei jūsų projektas yra sudėtingas arba ieškote sprendimo, kuris apima atvirojo kodo etosą.

Sukurkite mazgo programą

Pirmas žingsnis yra sukurti „Node“ programą, kurią naudosite ryšio kodui išbandyti. Norimame aplanke sukurkite naują aplanką.

mkdir postgres-mazgas

Eikite į sukurtą aplanką ir inicijuokite npm.

cd postgres-mazgas
npm init -y

Ši komanda turėtų generuoti a package.json failą.

instagram viewer

Tada sukurkite naują failą ir pavadinkite jį index.js. Šiame faile prijungsite „Node“ prie „PostgreSQL“.

Naudokite node-postgres modulį

The mazgas-postgres modulis yra npm paketas, leidžiantis prisijungti prie PostgreSQL duomenų bazės ir su ja bendrauti. Yra dvi parinktys, kurias galite naudoti norėdami prijungti mazgą su PostgreSQL naudodami modulį node-postgres: vieną klientą arba ryšio telkinį. Taigi, ką turėtumėte naudoti?

Naudokite vieną klientą, jei vienu metu reikia tik vieno statinio ryšio. Tačiau, jei reikia naudoti vienu metu ir kelias užklausas, naudokite ryšio telkinį.

Įdiekite node-postgres

Paleiskite šią komandą savo terminale, kad įdiegtumėte node-postgres.

npm diegti psl

Jei naudojate mazgą >= 14.x, vėliau turėsite įdiegti [email protected] o. Versijos numerį galite nurodyti pridėdami prie diegimo komandos galūnę taip.

npm diegti pg=8.7.3

Prisijungimas prie PostgreSQL

Norint prisijungti prie PostgreSQL duomenų bazės, moduliui node-postgres reikia šių reikšmių.

  • PGUSER – „PostgreSQL“ vartotojo vardas, skirtas prisijungti kaip.
  • PGHOST – serverio prieglobos, prie kurios reikia prisijungti, pavadinimas.
  • PGPASSWORD – PostgreSQL serverio slaptažodis.
  • PGDATABASE – duomenų bazės, prie kurios jungiatės, pavadinimas.
  • PGPORT – prievado numeris, prie kurio reikia prisijungti prie serverio pagrindinio kompiuterio.

Sukurkite .env failą ir pridėkite šiuos kintamuosius, pakeisdami atitinkamas reikšmes iš savo duomenų bazės:

PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPPSWORD>
PGDATABAZĖ=<PGDUOMENŲ BAZĖ>
PGPORT=<PGPORT>

Įdiekite dotenv paketą, kad pasiektumėte .env failą.

npm diegti dotenv

Į index.js, importuoti ir konfigūruoti dotenv.

konst dotenv = reikalauti(„dotenv“)
dotenv.config()

Prisijunkite prie PostgreSQL duomenų bazės naudodami vieną klientą

Toliau pateiktame kode parodyta, kaip galite prijungti mazgą prie PostgreSQL serverio naudodami vieną klientą.

konst {Klientas} = reikalauti("pg")
konst dotenv = reikalauti(„dotenv“)
dotenv.config()

konst connectDb = async () => {
bandyti {
konst klientas = naujas Klientas ({
Vartotojas: procesas.env.PGUSER,
šeimininkas: procesas.env.PGHOST,
duomenų bazėje: procesas.env.PGDUOMENŲ BAZĖ,
Slaptažodis: procesas.env.PGPSASWORD,
uostas: procesas.env.PGPORT
})

laukti client.connect()
const res = laukti client.query('PASIRINKTI * NUO some_table')
konsolė.log (res)
laukti client.end()
} sugauti (klaida) {
konsolė.log (klaida)
}
}

connectDb()

Ryšio baseino naudojimas

Kaip jau minėta, ryšio telkinys leidžia pateikti keletą prisijungimo prie serverio užklausų.

konst { Baseinas } = reikalauti("pg");
konst dotenv = reikalauti(„dotenv“);
dotenv.config();

konst connectDb = async () => {
bandyti {
konst baseinas = naujas Baseinas ({
Vartotojas: procesas.env.PGUSER,
šeimininkas: procesas.env.PGHOST,
duomenų bazėje: procesas.env.PGDUOMENŲ BAZĖ,
Slaptažodis: procesas.env.PGPSASWORD,
uostas: procesas.env.PGPORT,
});

laukti pool.connect()
const res = laukti pool.query('PASIRINKTI * NUO klientų)
konsolė.log (res)
laukti baseinas.pabaiga()
} sugauti (klaida) {
konsolė.log (klaida)
}
}

connectDb()

Pirmiau pateikti pavyzdžiai leidžia valdyti duomenų bazės konfigūraciją naudojant .env failą. Tačiau taip pat galite pateikti šias konfigūracijos reikšmes naudojant standartinius aplinkos kintamuosius. Šis metodas leidžia lengvai keisti konfigūraciją paleidimo metu.

Apsvarstykite šį ryšio kodą.

konst connectDb = async () => {
bandyti {
konst baseinas = naujas Baseinas ();
const res = laukti pool.query('PASIRINKTI * NUO klientų)
konsolė.log (res)
laukti baseinas.pabaiga()
} sugauti (klaida) {
konsolė.log (klaida)
}
}

Šioje programoje neperduodate ryšio objekto kaip argumento inicijuodami baseiną. Vietoj to turite nurodyti ryšio informaciją, kai iškviečiate programą taip:

PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPPSWORD> \
PGDATABAZĖ=<PGDUOMENŲ BAZĖ> \
PGPORT=<PGPORT> \
mazgasindeksas.js

Taip prijungus „Node“ prie „PostgreSQL“ galite parašyti daugkartinio naudojimo programą.

Nuveikti daugiau su PostgreSQL

Norėdami sukurti programą, kuri sąveikauja su duomenų bazėmis, pirmiausia turite ją prijungti prie duomenų bazės. Šiame straipsnyje sužinojote, kaip prijungti mazgą prie PostgreSQL duomenų bazės naudojant mazgo-Postgres modulį.

Be PostgreSQL, yra ir kitų duomenų bazių valdymo sistemų, tokių kaip MySQL, kurias galite naudoti savo programoje. Pasirinktas duomenų bazės įrankis turėtų būti labiausiai suderinamas su jūsų duomenų poreikiais.