go连接数据库远程总是断开
func TestOpenCA(t *testing.T) {
var source = "host=xx.xx.xx.xx user=xxx password=xxx dbname=xxx port=5432 sslmode=disable"
//var source = "host=127.0.0.1 user=postgres password=xxx dbname=xx port=5432 sslmode=disable"
db, err := sql.Open("postgres", source)
if err != nil {
t.Error(err)
}
var sql = `INSERT INTO "test" (a,b,c) VALUES("1","2","3") ,("1","2","3") ;`
fmt.Println(db.Ping())
db.SetConnMaxIdleTime(10 * time.Minute)
db.SetConnMaxLifetime(10 * time.Minute)
var errIdx = 0
for i := 0; i < 100; i++ {
_, err := db.ExecContext(context.Background(), sql)
if err != nil {
errIdx += 1
//t.Error(err)
//return
}
//fmt.Println(c.LastInsertId())
}
fmt.Println(errIdx)
defer db.Close()
fmt.Scanln()
}
上面是代码,本地数据库插入都是成功的,远程了服务器的数据库,就总是报错 wsarecv: An existing connection was forcibly closed by the remote host,网路应该是没问题的,sql也没问题,就是频繁报这个错。