Golang memiliki beberapa driver untuk koneksi database, diantarnya :
1. MySQL
Untuk instalasi dan set up bisa klik link berikut.
2. PostgreSQL
Untuk instalasi dan set up bisa klik link berikut.
Link code
Berikut link code lengkap contoh koneksi database MySQL dan PostgreSQL di Golang.
Golang Database Pool
Database pool digunakan untuk management access database di Golang. Di package "database/sql", golang menyediakan 4 parameter management access seperti berikut.
db.SetMaxIdleConns(10) // setMaxIdelConns -> pengaturan jumlah koneksi minimal yang dibuat saat aplikasi connect ke database
db.SetMaxOpenConns(50) // setMaxOpenConns -> pengaturan jumlah koneksi maksimal dibuatdb.SetConnMaxIdleTime(5 * time.Minute) // setConnMaxIdleTime -> contoh ada 10 koneksi tidak digunakan selamat durasi waktu tertentu, maka akan di close
db.SetConnMaxLifetime(60 * time.Minute) // setConnMaxLifeTime -> contoh koneksi sudah mencapai waktu tertentu, maka akan di close atau memperbaruhi koneksi yang lama
Jika SetMaxIdleConns dan SetMaxOpenCons diinisiasi value-nya, koneksi perlu segera mungkin di close agar bisa digunakan untuk menjalankan query di function lain.
defer db.Close()
Penerapan db.Close() dapat dilihat di materi selanjutnya.