Connect with Go

This example connects to PostgreSQL service from Go, making use of the pg library.

Variables

These are the placeholders you will need to replace in the code sample:

Variable

Description

POSTGRESQL_URI

URL for PostgreSQL connection, from the service overview page

Pre-requisites

For this example you will need:

  1. The Go pq library:

    go get github.com/lib/pq
    

Code

Add the following to main.go and replace the placeholder with the PostgreSQL URI:

package main

import (
    "database/sql"
    "fmt"
    _ "github.com/lib/pq"
    "log"
)

func main() {
    serviceURI := "POSTGRESQL_URI"

    db, err := sql.Open("postgres", serviceURI)

    if err != nil {
		log.Fatal(err)
	}
	defer db.Close()

    rows, err := db.Query("SELECT version()")
	if err != nil {
		panic(err)
	}

    for rows.Next() {
		var result string
		err = rows.Scan(&result)
		if err != nil {
			panic(err)
		}
		fmt.Printf("Version: %s\n", result)
	}
}

This code creates a PostgreSQL client and opens a connection to the database. Then runs a query checking the database version and prints the response

To run the code:

go run main.go

If the script runs successfully, the outputs should be the PostgreSQL version running in your service like:

Version: PostgreSQL 13.3 on x86_64-pc-linux-gnu, compiled by gcc, a 68c5366192 p 6520304dc1, 64-bit