Postgres Database Connection using Golang
In this article, we will explore how to connect the PostgresSQL database with Go using Go's database package
Prerequisites
- Install Golang
- Instal Postgres and PGAdmin or Run this Docker image
- Basic understanding of SQL
Create a main.go file, run go mod init <module Name>
, and Install the Go Database package
go mod init <moduleName>
go get github.com/go-pg/pg
In main.go file we will import the package, create a user Struct, initialize the Database connection and Create a Table by passing the model interface
package main
import (
"github.com/go-pg/pg"
"github.com/go-pg/pg/orm"
)
type User struct {
Name string
Emails string
}
func StartConnection() {
db := pg.Connect(&pg.Options{
Addr: ":5432",
User: "username",
Password: "password",
Database: "database-name",
})
err := createSchema(db)
if err != nil {
panic(err)
}
}
// createSchema creates database schema for User models.
func createSchema(db *pg.DB) error {
models := []interface{}{
(*User)(nil),
}
for _, model := range models {
err := db.Model(model).CreateTable(&orm.CreateTableOptions{
Temp: false,
IfNotExists: true,
})
if err != nil {
return err
}
}
return nil
}