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!
go postgresql database pgx
Commentami!