Connessione a PostgreSQL in Go

Mattepuffo's logo
Connessione a PostgreSQL in Go

Connessione a PostgreSQL in Go

In questo articolo vediamo come connetterci ad un db PostgreSQL in Go usando pgx.

In verità ci stanno diverse libreria, ma da quello che ho capito pgx è quella più consigliata.

Per installarla:

go get github.com/jackc/pgx/v5

Qui sotto un esempio di codice:

package main

import (
	"context"
	"fmt"
	"os"

	"github.com/jackc/pgx/v5"
)

type Persona struct {
	p_id    int
	p_email string
}

func main() {
	dbUrl := "postgres://postgres:9211@localhost:5432/test"
	db, err := pgx.Connect(context.Background(), dbUrl)
	if err != nil {
		fmt.Fprintf(os.Stderr, "Impossibile connettersi al db: %vn", err)
		os.Exit(1)
	}
	defer db.Close(context.Background())

	rows, err := db.Query(context.Background(), "SELECT p_id, p_email FROM persone")
	if err != nil {
		fmt.Printf("ERRORE: %vn", err)
		os.Exit(1)
	}

	defer rows.Close()

	for rows.Next() {
		var r Persona
		err := rows.Scan(&r.p_id, &r.p_email)

		if err != nil {
			fmt.Printf("ERRORE: %vn", err)
			os.Exit(1)
		}

		fmt.Printf("%vn", r)
	}

}

Dove Persona identifica i campi della mia tabella.

Enjoy!


Condividi

Commentami!