我正在使用pq
驱动程序(http://github.com/lib/pq)来写入postgres数据库,但是当很多事务同时发生时,驱动程序会发生恐慌并执行以下操作:
pq: sorry, too many clients already
为防止出现这种情况,我想使用SetMaxOpenConns
(如http://golang.org/pkg/database/sql/中所述),但编译器说:
db.SetMaxOpenConns undefined (type *sql.DB has no field or method SetMaxOpenConns)
我认为sql
中的函数也可以在pq
中使用,但显然它们不是。
我的代码:
package main
import (
"database/sql"
_ "github.com/lib/pq"
)
func Main() {
var db, _ = sql.Open("postgres", "user=user dbname=db")
db.SetMaxOpenConns(10)
}
是否还有其他可能限制开放连接的数量?