Files
laboratori-cloud/labs/lab-05-database/how-to-guides/connect-to-postgresql.md
T

1.3 KiB

How-to: Connettersi a PostgreSQL in Docker

Come connettersi al database

Da container nella stessa rete

docker run --rm -it --network lab05-vpc-private \
  -e PGPASSWORD=lab05_password \
  postgres:16-alpine \
  psql -h db -U lab05_user -d lab05_db

Se devi connetterti dall'host, aggiungi temporaneamente:

# docker-compose.yml
ports:
  - "127.0.0.1:5432:5432"

Poi:

psql -h 127.0.0.1 -U lab05_user -d lab05_db

Con pgAdmin o altri tool

  1. Configura connection string:
host=127.0.0.1 port=5432 user=lab05_user password=lab05_password dbname=lab05_db
  1. Oppure usa PostgreSQL URI:
postgresql://lab05_user:lab05_password@127.0.0.1:5432/lab05_db

Risoluzione problemi

Connection refused

Il database è in rete privata. Devi connetterti da container nella stessa rete:

# Client temporaneo nella rete privata
docker run --rm -it --network lab05-vpc-private \
  -e PGPASSWORD=lab05_password \
  postgres:16-alpine \
  psql -h db -U lab05_user -d lab05_db

Nota: il servizio lab05-app usa nginx:alpine e non include psql.

Password authentication failed

Verifica le credenziali nel file docker-compose.yml cercando le variabili POSTGRES_: