package database import ( "database/sql" "log" "time" "github.com/lib/pq" ) var db *sql.DB func OpenDB(conf pq.Config) { connector, err := pq.NewConnectorConfig(conf) if err != nil { panic(err) } db = sql.OpenDB(connector) db.SetMaxOpenConns(500) db.SetMaxIdleConns(50) db.SetConnMaxLifetime(time.Hour) if err := db.Ping(); err != nil { panic(err) } log.Printf("Database opened to %s:%d, %s as %s!\n", conf.Host, conf.Port, conf.Database, conf.User) if err := initStateDB(); err != nil { panic(err) } if err := initVoteDB(); err != nil { panic(err) } } func CloseDB() { if err := db.Close(); err != nil { panic(err) } }