{

Typeorm - Connection Pool configuration MySQL and Postgres


This tutorial explains how to define a connection pool in the TypeOrm NodeJS application.

Connection pools are pre-created pools of connections used in NestJS or javascript applications to Connect to a Database.

Connection is an HTTP Connection used to connect to the Database to do DB operations.

Connection is required for each operation, examples of operations are Create, Update, Delete Read.

To configure the database with typeorm, the Following configuration is required for the MySQL database.

{
    "type": "mysql",
    "host": "localhost",
    "port": 3306,
    "username": "root",
    "password": "",
    "database": "test",
    "entities": [
        "**/*.entity{.ts,.js}"
    ],
    "synchronize": true,
}

Typeorm Connection Pool MySQL Configuration

MySQL Datasource contains the below configurations

pool.max : Maximum number of connections, default is 10 poo.min: Minimum connections, default is zero. pool.idle: connection idle timeout. pool.acquire: connection acquire timeout

  "type": "mysql",
    "host": "localhost",
    "port": 3306,
    "username": "root",
    "password": "",
    "database": "test",
    "entities": [
        "**/*.entity{.ts,.js}"
    ],
    "synchronize": true,
    "pool": {
          "max": 5,
        "min": 0,
       "acquire": 30000,
       "idle": 10000
    }
    }

How to set poolSize for Postgres in Typeorm database connection

For Postgres configuration, an extra option is configured in ormconfig.js It contains the following parameters

  • poolSize: maximum number of database connections.
  • connectionTimeoutMillis: Connection timeout
  • query_timeout
  • statement_timeout
{
    "type": "postgres",
    "host": "localhost",
    "port": 5126,
    "username": "pgadmin",
    "password": "pgadmin",
    "database": "test",
    "entities": [
        "**/*.entity{.ts,.js}"
    ],
    "synchronize": true,
     "extra": {
        "poolSize": 20,
        "connectionTimeoutMillis": 2000,
        "query_timeout": 1000,
        "statement_timeout": 1000
  }

}
THE BEST NEWSLETTER ANYWHERE
Join 6,000 subscribers and get a daily digest of full stack tutorials delivered to your inbox directly.No spam ever. Unsubscribe any time.

Similar Posts
Subscribe
You'll get a notification every time a post gets published here.