Skip to Content
๐Ÿ“š Tutorial๐Ÿ”— Express Js5) Database connect

Database connect

The following guide will using postgresql for connections with yarn.

1. Install postgresql

Download from: https://www.postgresql.org/download/ย 

2. Install pg in nodejs

Install the packages pg for connect the databases. https://www.npmjs.com/package/pgย 

npm install pg

3. Config the pg client

Assume you have a DB in your postgresql named my-test-db with a user name postgresql and password 123.

server.ts
import { Client } from 'pg' import express, { Request, Response } from "express"; const app = express(); // highlight-start const client = new Client({ host: 'localhost', // Local DB port: 5432, // Default postgresql port database: 'my-test-db', user: 'postgresql', password: '123', }) ( async () => { await client.connect(); })() // highlight-end // http://localhost:8080/ app.get("/", function async (req: Request, res: Response) { const result = await client.query('SELECT * FROM users') res.json({ status: true, data: result.rows }); }); const PORT = 8080; app.listen(PORT, () => { console.log(`Listening at http://localhost:${PORT}/`); });

4. Adding dotenv

To prevent databases secret in codebases, adding dotenv to import data like username, password.

yarn add dotenv

Back to server.ts, import the following code.

server.ts
import { Client } from 'pg' import express, { Request, Response } from "express"; // highlight-start import dotenv from 'dotenv'; dotenv.config(); // highlight-end const app = express(); const client = new Client({ host: 'localhost', // Local DB port: 5432, // Default postgresql port // Change the following stuff to `process.env.xxxx` database: process.env.DB_NAME, user: process.env.DB_USER, password: process.env.DB_PASSWORD, }) ( async () => { await client.connect(); })() // http://localhost:8080/ app.get("/", function async (req: Request, res: Response) { const result = await client.query('SELECT * FROM users') res.json({ status: true, data: result.rows }); }); const PORT = 8080; app.listen(PORT, () => { console.log(`Listening at http://localhost:${PORT}/`); });

Then, create a file named .env at the root of your project.

.env
DB_NAME=my-test-db DB_USER=postgresql DB_PASSWORD=123

Done, you can try to start the code to test whether you can connect to the database.

Last updated on