package postgres import ( "context" "database/sql" "time" _ "github.com/jackc/pgx/v5/stdlib" ) type DB struct { sql *sql.DB } func Open(url string) (*DB, error) { db, err := sql.Open("pgx", url) if err != nil { return nil, err } db.SetMaxOpenConns(25) db.SetMaxIdleConns(5) db.SetConnMaxLifetime(5 * time.Minute) return &DB{sql: db}, nil } func (d *DB) Close() error { return d.sql.Close() } func (d *DB) Ping(ctx context.Context) error { return d.sql.PingContext(ctx) }