[node.js]为什么我收到 TimeoutError: Knex: Timeout 获取连接。游泳池可能已经满了。您是否错过了 .transacting(trx) 调用?

· 收录于 2024-01-06 16:17:06 · source URL

问题详情

我们主要在使用 postgresql 数据库的生产中的高流量期间收到 Knex 超时错误。knex 配置如下:

module.exports = {
  client: 'pg',
  connection: 
    process.env.DATABASE_URL || {
      host: process.env.DB_HOST,
      port: process.env.DB_PORT,
      user: process.env.DB_USER,
      password: process.env.DB_PASSWORD,
      database: process.env.DB_NAME
    },
  migrations: {
    directory: './migrations'
  },
  seeds: {
    directory: './seeds'
  },
  pool: {
    min: 0,
    max: 20
  }
};

我们尝试从 2 个重控制器中删除事务,并以某种方式优化查询。但我们仍然遇到这个问题。我们正在使用节点 14。以下是相关依赖项的版本

"knex": "^2.1.0",
"objection": "^3.0.0",
"pg": "^8.6.0"

最佳回答

暂无回答