nodejs connection pool


A connection pool is a cache of established database connections that can be reused, rather than creating a new connection each time a connection to the database is needed. Using a connection pool can improve the performance of your application by reducing the overhead of establishing a new connection every time a query is executed.

To use a connection pool in a Node.js application, you can use a library like mysql2 or pg (which is a PostgreSQL client for Node.js).

Here is an example of how you can use the mysql2 library to create a connection pool:

const mysql = require('mysql2');

// Create a connection pool
const pool = mysql.createPool({
  host: 'localhost',
  user: 'root',
  database: 'test',
  password: 'password',
  waitForConnections: true,
  connectionLimit: 10,
  queueLimit: 0

// Acquire a connection from the pool
pool.getConnection((err, connection) => {
  if (err) {

  // Use the connection to execute a query
  connection.query('SELECT * FROM users', (error, results, fields) => {
    // Release the connection back to the pool

    if (error) {


This example creates a connection pool with a limit of 10 connections, and acquires a connection from the pool to execute a query. When the query is finished, the connection is released back to the pool.

You can use a similar approach to create a connection pool for a PostgreSQL database using the pg library.