go resource_error ai_generated true

error: database/sql: connection pool exhausted: too many connections

ID: go/database-sql-connection-pool-exhausted

Also available as: JSON · Markdown · 中文
80%Fix Rate
90%Confidence
0Evidence
2024-07-14First Seen

Version Compatibility

VersionStatusIntroducedDeprecatedNotes
1.18 active

Root Cause

数据库连接池中的连接数量达到上限,无法创建新连接。

generic

中文

数据库连接池中的连接数量达到上限,无法创建新连接。

Workarounds

  1. 90% success
    db.SetMaxOpenConns(100)
    db.SetMaxIdleConns(50)
    db.SetConnMaxLifetime(time.Hour)
  2. 95% success
    defer rows.Close()
    defer stmt.Close()
    defer db.Close()

Dead Ends

Common approaches that don't work:

  1. 70% fail

    可能超出数据库服务器最大连接数,导致服务器崩溃。

  2. 50% fail

    只是临时解决,问题会再次出现。