Majoritatea aplicațiilor din lumea reală interacționează cu bazele de date într-un fel sau altul. Bazele de date facilitează persistența, analiza și interacțiunea cu datele.
Majoritatea limbajelor de programare oferă suport pentru conectarea aplicațiilor la baze de date precum PostgreSQL. Aflați cum puteți utiliza modulul node-postgres pentru a conecta o aplicație Node la PostgreSQL.
Cum să începeți
Pentru a începe prin a vă conecta la o bază de date locală, va trebui să aveți Server PostgreSQL instalat.
PostgresSQL este unul dintre cele mai comune sisteme de baze de date relaționale datorită flexibilității și puterii sale. Ați putea lua în considerare utilizarea acestuia ca alternativă la MySQL dacă proiectul dvs. este complex sau sunteți în căutarea unei soluții care să îmbrățișeze etosul open-source.
Creați o aplicație Node
Primul pas este să creați o aplicație Node pe care o veți folosi pentru a testa codul de conexiune. În folderul preferat, creați un dosar nou.
mkdir postgres-node
Navigați la folderul pe care l-ați creat și inițializați npm.
CD postgres-node
npm init -y
Această comandă ar trebui să genereze un pachet.json fişier.
Apoi, creați un fișier nou și denumiți-l index.js. Veți conecta Node la PostgreSQL în acest fișier.
Utilizați modulul node-postgres
The nod-postgres module este un pachet npm care vă permite să vă conectați și să interacționați cu o bază de date PostgreSQL. Există două opțiuni pe care le puteți utiliza pentru a conecta Node cu PostgreSQL folosind modulul node-postgres: un singur client sau un pool de conexiuni. Deci ce ar trebui să folosești?
Utilizați un singur client dacă aveți nevoie de o singură conexiune statică la un moment dat. Cu toate acestea, dacă trebuie să utilizați solicitări simultane și multiple, utilizați un pool de conexiuni.
Instalați node-postgres
Rulați următoarea comandă în terminalul dvs. pentru a instala node-postgres.
npm instalare pg
Dacă utilizați node >= 14.x, va trebui să instalați [email protected] o mai târziu. Puteți specifica numărul versiunii adăugându-l la comanda de instalare astfel.
npm instalare pg=8.7.3
Conectarea la PostgreSQL
Modulul node-postgres necesită următoarele valori pentru a se conecta la o bază de date PostgreSQL.
- PGUSER - Nume de utilizator PostgreSQL pentru a vă conecta.
- PGHOST - Numele gazdei serverului la care se va conecta.
- PGPASSWORD - Parola serverului PostgreSQL.
- PGDATABASE - Numele bazei de date la care vă conectați.
- PGPORT - Numărul portului la care să vă conectați la gazda serverului.
Creați un fișier .env și adăugați aceste variabile, înlocuind valorile corespunzătoare din baza de date:
PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPASSWORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
Instalați pachetul dotenv pentru a accesa fișierul .env.
npm instalare dotenv
În index.js, importați și configurați dotenv.
const dotenv = cere("dotenv")
dotenv.config()
Conectați-vă la o bază de date PostgreSQL utilizând un singur client
Codul de mai jos arată cum puteți conecta Node la un server PostgreSQL folosind un singur client.
const { Client } = cere("pg")
const dotenv = cere("dotenv")
dotenv.config()const connectDb = asincron () => {
încerca {
const client = nou Client({
utilizator: proces.env.PGUSER,
gazdă: proces.env.PGHOST,
Bază de date: proces.env.PGDATABASE,
parola: proces.env.PGPAROLĂ,
port: proces.env.PGPORT
})așteaptă client.connect()
const res = await client.query('SELECTAȚI * DIN some_table')
consolă.log (res)
așteaptă client.end()
} captură (eroare) {
consolă.log (eroare)
}
}
connectDb()
Utilizarea unui pool de conexiuni
După cum sa menționat deja, un pool de conexiuni vă permite să faceți mai multe solicitări de conectare la serverul dvs.
const { Pool } = cere("pg");
const dotenv = cere("dotenv");
dotenv.config();const connectDb = asincron () => {
încerca {
const piscina = nou Bazin({
utilizator: proces.env.PGUSER,
gazdă: proces.env.PGHOST,
Bază de date: proces.env.PGDATABASE,
parola: proces.env.PGPAROLĂ,
port: proces.env.PGPORT,
});așteaptă pool.connect()
const res = await pool.query('SELECTAȚI * DIN clientilor)
consolă.log (res)
așteaptă pool.end()
} captură (eroare) {
consolă.log (eroare)
}
}
connectDb()
Exemplele de mai sus vă permit să controlați configurația bazei de date printr-un fișier .env. Cu toate acestea, puteți furniza și aceste valori de configurare folosind variabile de mediu standard. Această abordare vă permite să variați cu ușurință configurația la momentul pornirii.
Luați în considerare următorul cod de conectare.
const connectDb = asincron () => {
încerca {
const piscina = nou Bazin();
const res = await pool.query('SELECTAȚI * DIN clientilor)
consolă.log (res)
așteaptă pool.end()
} captură (eroare) {
consolă.log (eroare)
}
}
În acest program, nu treceți obiectul de conexiune ca argument atunci când inițializați Pool. În schimb, trebuie să specificați detaliile conexiunii atunci când invocați programul astfel:
PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASSWORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
nodulindex.js
Conectarea Node la PostgreSQL astfel vă permite să scrieți un program mai reutilizabil.
Fă mai mult cu PostgreSQL
Pentru a crea o aplicație care interacționează cu bazele de date, trebuie mai întâi să o conectați la baza de date. În acest articol, ați învățat cum să conectați Node la o bază de date PostgreSQL folosind modulul node-Postgres.
În afară de PostgreSQL, există și alte sisteme de gestionare a bazelor de date, cum ar fi MySQL, pe care le puteți utiliza în aplicația dvs. Instrumentul de bază de date pe care îl alegeți ar trebui să fie cel mai compatibil cu nevoile dvs. de date.