خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

نحوه اتصال به پایگاه داده PostgreSQL با استفاده از Node.js

Node.js هنگام اتصال به PostgreSQL انعطاف پذیری زیادی ارائه می دهد، اما کل فرآیند را نیز ساده می کند.

اکثر برنامه های کاربردی دنیای واقعی به روشی با پایگاه داده ها تعامل دارند. پایگاه های داده تداوم، تجزیه و تحلیل و تعامل با داده ها را آسان می کند.

اکثر زبان های برنامه نویسی برای اتصال برنامه ها به پایگاه های داده مانند PostgreSQL پشتیبانی می کنند. یاد بگیرید که چگونه می توانید از ماژول node-postgres برای اتصال یک برنامه Node به PostgreSQL استفاده کنید.

چه طور باید شروع کرد

برای شروع با اتصال به یک پایگاه داده محلی، باید سرور PostgreSQL را نصب کنید.

PostgresSQL به دلیل انعطاف پذیری و قدرت یکی از رایج ترین سیستم های پایگاه داده رابطه ای است. اگر پروژه شما پیچیده است یا به دنبال راه حلی هستید که اخلاق منبع باز را در بر بگیرد، ممکن است از آن به عنوان جایگزینی برای MySQL استفاده کنید.

یک برنامه Node ایجاد کنید

اولین گام این است که یک برنامه 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 وجود دارد: یک کلاینت منفرد یا یک اتصال Pool. پس از چه چیزی باید استفاده کنید؟

مطلب مرتبط:   نحوه استفاده از خط لوله تجمع در MongoDB

اگر در هر زمان فقط به یک اتصال ثابت نیاز دارید از یک کلاینت استفاده کنید. با این حال، اگر نیاز به استفاده از درخواست های همزمان و چندگانه دارید، از یک استخر اتصال استفاده کنید.

node-postgres را نصب کنید

برای نصب node-postgres دستور زیر را در ترمینال خود اجرا کنید.

npm install pg

اگر از node >= 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>

برای دسترسی به فایل env. بسته dotenv را نصب کنید.

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. کنترل کنید. با این حال، شما همچنین می توانید این مقادیر پیکربندی را با استفاده از متغیرهای محیط استاندارد ارائه دهید. این روش به شما امکان می‌دهد به راحتی پیکربندی را در زمان راه‌اندازی تغییر دهید.

مطلب مرتبط:   نحوه ساخت API GraphQL با سرور Apollo و MongoDB

کد اتصال زیر را در نظر بگیرید.

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> \
nodeindex.js

اتصال Node به PostgreSQL به این صورت به شما امکان می دهد برنامه ای با قابلیت استفاده مجدد بیشتر بنویسید.

انجام کارهای بیشتر با PostgreSQL

برای ایجاد یک برنامه کاربردی که با پایگاه های داده تعامل دارد، ابتدا باید آن را به پایگاه داده متصل کنید. در این مقاله نحوه اتصال Node به پایگاه داده PostgreSQL با استفاده از ماژول node-Postgres را یاد گرفتید.

به غیر از PostgreSQL، سیستم های مدیریت پایگاه داده دیگری مانند MySQL وجود دارد که می توانید در برنامه خود از آنها استفاده کنید. ابزار پایگاه داده ای که انتخاب می کنید باید بیشترین سازگاری را با نیازهای داده شما داشته باشد.