Files
boc/backend/db/db.go
T

28 lines
431 B
Go
Raw Normal View History

package db
import (
"database/sql"
"fmt"
"time"
_ "github.com/lib/pq"
)
func Connect(url string) (*sql.DB, error) {
db, err := sql.Open("postgres", url)
if err != nil {
return nil, fmt.Errorf("db open: %w", err)
}
db.SetMaxOpenConns(25)
db.SetMaxIdleConns(10)
db.SetConnMaxLifetime(5 * time.Minute)
if err := db.Ping(); err != nil {
db.Close()
return nil, fmt.Errorf("db ping: %w", err)
}
return db, nil
}