Ինչպես միանալ PostgreSQL տվյալների բազային՝ օգտագործելով Node.js-ը
Node.js-ն առաջարկում է շատ ճկունություն PostgreSQL-ին միանալիս, բայց այն նաև դարձնում է ամբողջ գործընթացը պարզ:
Իրական աշխարհի հավելվածների մեծ մասը այս կամ այն կերպ փոխազդում է տվյալների բազաների հետ: Տվյալների բազաները հեշտացնում են համառությունը, վերլուծությունը և տվյալների հետ փոխազդեցությունը:
Ծրագրավորման լեզուներից շատերն առաջարկում են հավելվածները միացնել տվյալների բազաներին, ինչպիսիք են PostgreSQL-ը: Իմացեք, թե ինչպես կարող եք օգտագործել node-postgres մոդուլը՝ Node հավելվածը PostgreSQL-ին միացնելու համար:
Ինչպես սկսել
Տեղական տվյալների բազայի միանալուց սկսելու համար ձեզ հարկավոր է տեղադրել PostgreSQL սերվերը:
PostgresSQL-ն իր ճկունության և հզորության շնորհիվ հարաբերական տվյալների բազայի ամենատարածված համակարգերից է: Դուք կարող եք դիտարկել այն որպես MySQL-ի այլընտրանք, եթե ձեր նախագիծը բարդ է կամ փնտրում եք լուծում, որը ներառում է բաց կոդով էթոսը:
Ստեղծեք հանգույցի հավելված
Առաջին քայլը Node հավելվածի ստեղծումն է, որը դուք կօգտագործեք կապի կոդը փորձարկելու համար: Ձեր նախընտրած պանակում ստեղծեք նոր թղթապանակ:
mkdir postgres-node
Նավարկեք ձեր ստեղծած թղթապանակը և սկզբնավորեք npm:
cd postgres-node
npm init -y
Այս հրամանը պետք է ստեղծի package.json ֆայլ:
Հաջորդը, ստեղծեք նոր ֆայլ և անվանեք այն index.js: Այս ֆայլում դուք կմիացնեք Node-ը PostgreSQL-ին:
Օգտագործեք node-postgres մոդուլը
Node-postgres մոդուլը npm փաթեթ է, որը թույլ է տալիս միանալ PostgreSQL տվյալների բազայի հետ և համագործակցել դրա հետ: Կան երկու տարբերակ, որոնք կարող եք օգտագործել Node-ը PostgreSQL-ի հետ կապելու համար՝ օգտագործելով node-postgres մոդուլը՝ մեկ հաճախորդ կամ կապի լողավազան: Այսպիսով, ինչ պետք է օգտագործեք:
Օգտագործեք մեկ հաճախորդ, եթե ձեզ միաժամանակ անհրաժեշտ է միայն մեկ ստատիկ կապ: Այնուամենայնիվ, եթե Ձեզ անհրաժեշտ է օգտագործել միաժամանակյա և մի քանի հարցումներ, օգտագործեք կապի լողավազան:
Տեղադրեք node-postgres-ը
Գործարկեք հետևյալ հրամանը ձեր տերմինալում՝ node-postgres-ը տեղադրելու համար։
npm install pg
Եթե դուք օգտագործում եք հանգույց >= 14.x, ապա ձեզ հարկավոր է տեղադրել pg@8.2.x o ավելի ուշ: Դուք կարող եք նշել տարբերակի համարը՝ այն դնելով տեղադրման հրամանի վրա այսպես.
npm install pg=8.7.3
Միացում PostgreSQL-ին
Node-postgres մոդուլը պահանջում է հետևյալ արժեքները PostgreSQL տվյալների բազայի հետ միանալու համար:
- PGUSER - PostgreSQL օգտվողի անուն՝ որպես միանալու համար:
- PGHOST - սերվերի սերվերի անունը, որին պետք է միանալ:
- PGPASSWORD - PostgreSQL սերվերի գաղտնաբառը:
- PGDATABASE - տվյալների բազայի անվանումը, որին միանում եք:
- PGPORT - Սերվերի հոսթում միանալու պորտի համարը:
Ստեղծեք .env ֆայլ և ավելացրեք այս փոփոխականները՝ փոխարինելով ձեր տվյալների բազայի համապատասխան արժեքները.
PGUSER=<PGUSER>
PGHOST=<PGHOST>
PGPASSWORD=<PGPASSWORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
Տեղադրեք dotenv փաթեթը՝ .env ֆայլ մուտք գործելու համար:
npm install dotenv
index.js-ում ներմուծեք և կազմաձևեք dotenv-ը:
const dotenv = require("dotenv")
dotenv.config()
Միացեք PostgreSQL տվյալների շտեմարանին՝ օգտագործելով մեկ հաճախորդ
Ստորև բերված կոդը ցույց է տալիս, թե ինչպես կարող եք Node-ը միացնել PostgreSQL սերվերին՝ օգտագործելով մեկ հաճախորդ:
const { Client } = require("pg")
const dotenv = require("dotenv")
dotenv.config()
const connectDb = async () => {
try {
const client = new Client({
user: process.env.PGUSER,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
password: process.env.PGPASSWORD,
port: process.env.PGPORT
})
await client.connect()
const res = await client.query('SELECT * FROM some_table')
console.log(res)
await client.end()
} catch (error) {
console.log(error)
}
}
connectDb()
Օգտագործելով միացման լողավազան
Ինչպես արդեն նշվեց, կապի լողավազանը թույլ է տալիս մի քանի հարցումներ կատարել ձեր սերվերին:
const { Pool } = require("pg");
const dotenv = require("dotenv");
dotenv.config();
const connectDb = async () => {
try {
const pool = new Pool({
user: process.env.PGUSER,
host: process.env.PGHOST,
database: process.env.PGDATABASE,
password: process.env.PGPASSWORD,
port: process.env.PGPORT,
});
await pool.connect()
const res = await pool.query('SELECT * FROM clients')
console.log(res)
await pool.end()
} catch (error) {
console.log(error)
}
}
connectDb()
Վերոհիշյալ օրինակները թույլ են տալիս վերահսկել տվյալների բազայի կազմաձևումը .env ֆայլի միջոցով: Այնուամենայնիվ, դուք կարող եք նաև տրամադրել այս կազմաձևման արժեքները՝ օգտագործելով ստանդարտ միջավայրի փոփոխականներ: Այս մոտեցումը թույլ է տալիս հեշտությամբ փոփոխել կոնֆիգուրացիան գործարկման ժամանակ:
Հաշվի առեք հետևյալ կապի կոդը.
const connectDb = async () => {
try {
const pool = new Pool();
const res = await pool.query('SELECT * FROM clients')
console.log(res)
await pool.end()
} catch (error) {
console.log(error)
}
}
Այս ծրագրում դուք չեք փոխանցում կապի օբյեկտը որպես արգումենտ Pool-ը սկզբնավորելիս: Փոխարենը, դուք պետք է նշեք կապի մանրամասները, երբ դուք կանչում եք ծրագիրը հետևյալ կերպ.
PGUSER=<PGUSER> \
PGHOST=<PGHOST> \
PGPASSWORD=<PGPASSWORD> \
PGDATABASE=<PGDATABASE> \
PGPORT=<PGPORT> \
node index.js
Node-ը PostgreSQL-ին այսպես միացնելը թույլ է տալիս գրել ավելի բազմակի օգտագործման ծրագիր:
Ավելին անել PostgreSQL-ի հետ
Տվյալների բազաների հետ փոխազդող հավելված ստեղծելու համար նախ պետք է այն միացնել տվյալների բազային: Այս հոդվածում դուք սովորեցիք, թե ինչպես միացնել Node-ը PostgreSQL տվյալների բազայի հետ՝ օգտագործելով node-Postgres մոդուլը:
Բացի PostgreSQL-ից, կան տվյալների բազայի կառավարման այլ համակարգեր, ինչպիսիք են MySQL-ը, որոնք կարող եք օգտագործել ձեր հավելվածում: Ձեր ընտրած տվյալների բազայի գործիքը պետք է լինի առավելագույնը համատեղելի ձեր տվյալների կարիքների հետ: