Go: Подключение к Postgresql + использование UUID

package main

import (
	"database/sql"
	"fmt"
	"log"

	uuid "github.com/satori/go.uuid"

	_ "github.com/lib/pq"
)

const (
	host     = "192.168.200.22"
	port     = 5432
	user     = "******"
	password = "******"
	dbname   = "restapi_dev"
)

func main() {
	psqlInfo := fmt.Sprintf(
		"host=%s port=%d user=%s password=%s dbname=%s sslmode=disable",
		host, port, user, password, dbname,
	)
	log.Println("Connecting", fmt.Sprintf("%s...", psqlInfo[:19]))

	db, err := sql.Open("postgres", psqlInfo)
	if err != nil {
		panic(err)
	}
	log.Println("Sending ping...")
	err = db.Ping()
	if err != nil {
		panic(err)
	}
	log.Println("Ok")

	defer func() {
		log.Println("Closing connection")
		db.Close()
	}()

	log.Println("Successfuly connected!")

	query := `select ref, title from todos;`
	log.Println("Fetching data...")
	rows, err := db.Query(query)
	defer rows.Close()

	var (
		ref   uuid.UUID
		title string
	)
	log.Println("query result")

	for rows.Next() {
		if err := rows.Scan(&ref, &title); err != nil {
			log.Fatal(err)
		}

		log.Println(fmt.Sprintf("%s %s", ref, title))
	}

}

go mod init dsite.kz/test/check Инициализация проекта

go get github.com/lib/pq Получить либу postgres

go get github.com/satori/go.uuid соответственно предыдущему

Закладка Постоянная ссылка.