Connect to a database

1. Get a Database Adapter

To connect to a database, you need an adapter. Use go get to fetch it like this:

go get github.com/upper/db/v4/adapter/{$ADAPTER}

Where $ADAPTER could be any of the following:

For instance, if you’d like to use the PostgreSQL adapter, you’d first run:

go get -u github.com/upper/db/v4/adapter/postgresql

to get the adapter, and then you can import it into your project:

import (
  "github.com/upper/db/v4/adapter/postgresql"
)

2. Configure a Database Connection

Set the database credentials using the ConnectionURL type provided by the adapter:

import (
  "github.com/upper/v4/adapter/postgresql"
)

var settings = postgresql.ConnectionURL{
  Database: `booktown`,
  Host:     `postgres`,
  User:     `demo`,
  Password: `b4dp4ss`,
}

Note that the ConnectionURL (which satisfies the db.ConnectionURL interface) varies from database engine to another. The connection properties required by each adapter are explained in detail here.

3. Establish a Connection

Use the Open function to establish a connection with the database server:

sess, err := postgresql.Open(settings)
...

4. Close the Connection

Set the database connection to close automatically after completing all tasks. Use Close and defer:

defer sess.Close()