We're not sure whether this is a misunderstanding of how we should be using the pooled db connection within a http request, or a bug in the pq or database/sql package.
package main
import (
"database/sql"
"fmt"
"net/http"
)
var dbConn *sql.DB
func dbConnect() *sql.DB {
db, err := sql.Open("postgres", "user=dev dbname=my_db sslmode=disable port=5432 host=localhost password=")
if err != nil {
panic(err)
}
return db
}
func main() {
dbConn = dbConnect()
http.HandleFunc("/", run)
http.ListenAndServe(":8080", nil)
}
func run(http.ResponseWriter, *http.Request) {
var pid int
res := dbConn.QueryRow(`SELECT id FROM users WHERE id=$1`, 1365)
err := res.Scan(&pid)
if err != nil {
fmt.Println(err)
return
}
}