限制pq连接SetMaxOpenConns

时间:2013-12-04 14:15:44

标签: postgresql go

我正在使用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)
}

是否还有其他可能限制开放连接的数量?

1 个答案:

答案 0 :(得分:3)

正如James指出的那样,我提到了一个仅在Go 1.2上可用的功能,而我还安装了1.1。

简而言之,解决方案是:更新至Go 1.2