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 }