mediumSystem Design

How do you handle database connection pooling in a Node.js application?

382 views
01

Understand the problem

Explain how connection pooling optimizes communication with databases under heavy loads.

databaseperformancearchitecture
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Borrow + always release
import { Pool } from 'pg';
const pool = new Pool({ max: 10, idleTimeoutMillis: 30_000 });

async function getUser(id) {
  const client = await pool.connect();    // borrow
  try {
    const { rows } = await client.query('SELECT * FROM users WHERE id=$1', [id]);
    return rows[0];
  } finally {
    client.release();                      // ALWAYS return it
  }
}
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.