In questo articolo, esploreremo come configurare PostgreSQL utilizzando Docker e Docker Compose e come integrarlo in un'applicazione Go. Questo approccio è utile per semplificare lo sviluppo locale e la distribuzione delle applicazioni.
Configurazione di Docker Compose
Creiamo un file docker-compose.yml
per configurare PostgreSQL:
version: '3.8'
services:
db:
image: postgres:15
container_name: postgres_container
environment:
POSTGRES_USER: user
POSTGRES_PASSWORD: password
POSTGRES_DB: mydb
ports:
- "5432:5432"
volumes:
- db_data:/var/lib/postgresql/data
volumes:
db_data:
Avvio di PostgreSQL con Docker Compose
Esegui il comando seguente per avviare il container:
docker compose up -d
Verifica che il container sia in esecuzione:
docker ps
Connessione a PostgreSQL in Go
Aggiungi la libreria pq
al progetto Go per connetterti a PostgreSQL:
go get github.com/lib/pq
Crea un file Go, ad esempio main.go
, con il seguente codice:
package main
import (
"database/sql"
"fmt"
_ "github.com/lib/pq"
)
func main() {
connStr := "postgres://user:password@localhost:5432/mydb?sslmode=disable"
db, err := sql.Open("postgres", connStr)
if err != nil {
panic(err)
}
defer db.Close()
err = db.Ping()
if err != nil {
panic(err)
}
fmt.Println("Connessione a PostgreSQL riuscita!")
}
Test dell'Applicazione
Esegui l'applicazione Go per testare la connessione al database:
go run main.go
Se tutto è configurato correttamente, dovresti vedere il messaggio:
Connessione a PostgreSQL riuscita!
Conclusione
In questo articolo, abbiamo configurato PostgreSQL utilizzando Docker e Docker Compose, e abbiamo creato un'applicazione Go per connetterci al database. Questo flusso di lavoro semplifica notevolmente la gestione dei database nello sviluppo locale.