/ / Cách kết nối với cơ sở dữ liệu PostgreSQL bằng Node.js

Cách kết nối với cơ sở dữ liệu PostgreSQL bằng Node.js

pexels pixabay 220237

Hầu hết các ứng dụng trong thế giới thực đều tương tác với cơ sở dữ liệu theo cách này hay cách khác. Cơ sở dữ liệu giúp dễ dàng duy trì, phân tích và tương tác với dữ liệu.

Hầu hết các ngôn ngữ lập trình đều cung cấp hỗ trợ kết nối ứng dụng với cơ sở dữ liệu như PostgreSQL. Tìm hiểu cách bạn có thể sử dụng mô-đun node-postgres để kết nối ứng dụng Node với PostgreSQL.

Cách bắt đầu

Để bắt đầu bằng cách kết nối với cơ sở dữ liệu cục bộ, bạn cần cài đặt máy chủ PostgreSQL.

PostgresSQL là một trong những hệ thống cơ sở dữ liệu quan hệ phổ biến nhất do tính linh hoạt và sức mạnh của nó. Bạn có thể cân nhắc việc sử dụng nó như một giải pháp thay thế cho MySQL nếu dự án của bạn phức tạp hoặc bạn đang tìm kiếm một giải pháp phù hợp với các đặc tính của mã nguồn mở.

Tạo ứng dụng nút

Bước đầu tiên là tạo một ứng dụng Node mà bạn sẽ sử dụng để kiểm tra mã kết nối. Trong thư mục ưa thích của bạn, hãy tạo một thư mục mới.

mkdir postgres-node

Điều hướng đến thư mục bạn đã tạo và khởi tạo npm.


cd postgres-node
npm init -y

Lệnh này sẽ tạo ra một package.json tập tin.

Tiếp theo, tạo một tệp mới và đặt tên cho nó index.js. Bạn sẽ kết nối Node với PostgreSQL trong tệp này.

Sử dụng mô-đun node-postgres

Mô-đun node-postgres là một gói npm cho phép bạn kết nối và tương tác với cơ sở dữ liệu PostgreSQL. Có hai tùy chọn bạn có thể sử dụng để kết nối Node với PostgreSQL bằng cách sử dụng mô-đun node-postgres: một máy khách hoặc một nhóm kết nối. Vì vậy, những gì bạn nên sử dụng?

Sử dụng một ứng dụng khách nếu bạn chỉ cần một kết nối tĩnh tại một thời điểm. Tuy nhiên, nếu bạn cần sử dụng đồng thời và nhiều yêu cầu, hãy sử dụng một nhóm kết nối.

Cài đặt nút-postgres

Chạy lệnh sau trong thiết bị đầu cuối của bạn để cài đặt node-postgres.

npm install pg

Nếu bạn sử dụng nút> = 14.x, bạn sẽ cần phải cài đặt pg@8.2.xo sau đó. Bạn có thể chỉ định số phiên bản bằng cách thêm nó vào lệnh cài đặt như thế này.

npm install pg=8.7.3

Kết nối với PostgreSQL

Mô-đun node-postgres yêu cầu các giá trị sau để kết nối với cơ sở dữ liệu PostgreSQL.

  • PGUSER – Tên người dùng PostgreSQL để kết nối.
  • PGHOST – Tên của máy chủ lưu trữ để kết nối.
  • PGPASSWORD – Mật khẩu của máy chủ PostgreSQL.
  • PGDATABASE – Tên của cơ sở dữ liệu bạn đang kết nối.
  • PGPORT – Số cổng để kết nối tại máy chủ lưu trữ.

Tạo tệp .env và thêm các biến này, thay thế các giá trị tương ứng từ cơ sở dữ liệu của bạn:

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

Cài đặt gói dotenv để truy cập tệp .env.

npm install dotenv

Trong index.jsnhập và định cấu hình dotenv.

const dotenv = require("dotenv")
dotenv.config()

Kết nối với cơ sở dữ liệu PostgreSQL bằng một ứng dụng khách

Đoạn mã dưới đây cho thấy cách bạn có thể kết nối Node với máy chủ PostgreSQL bằng một ứng dụng khách.

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()

Sử dụng nhóm kết nối

Như đã đề cập, một nhóm kết nối cho phép bạn thực hiện nhiều yêu cầu kết nối đến máy chủ của mình.

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()

Các ví dụ trên cho phép bạn kiểm soát cấu hình cơ sở dữ liệu thông qua tệp .env. Tuy nhiên, bạn cũng có thể cung cấp các giá trị cấu hình này bằng cách sử dụng các biến môi trường tiêu chuẩn. Cách tiếp cận này cho phép bạn dễ dàng thay đổi cấu hình tại thời điểm khởi động.


Hãy xem xét mã kết nối sau đây.

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)
}
}

Trong chương trình này, bạn không truyền đối tượng kết nối làm đối số khi khởi tạo Pool. Thay vào đó, bạn phải chỉ định chi tiết kết nối khi bạn gọi chương trình như sau:

PGUSER=<PGUSER> 
PGHOST=<PGHOST>
PGPASSWORD=<PGPASSWORD>
PGDATABASE=<PGDATABASE>
PGPORT=<PGPORT>
node index.js

Kết nối Node với PostgreSQL như thế này cho phép bạn viết một chương trình có thể tái sử dụng nhiều hơn.

Làm được nhiều việc hơn với PostgreSQL

Để tạo một ứng dụng tương tác với cơ sở dữ liệu, trước tiên bạn phải kết nối nó với cơ sở dữ liệu. Trong bài viết này, bạn đã học cách kết nối Node với cơ sở dữ liệu PostgreSQL bằng mô-đun node-Postgres.

Ngoài PostgreSQL, còn có các hệ thống quản lý cơ sở dữ liệu khác như MySQL mà bạn có thể sử dụng trong ứng dụng của mình. Công cụ cơ sở dữ liệu bạn chọn phải tương thích nhất với nhu cầu dữ liệu của bạn.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *