PostgreSQL è uno dei database relazionali più potenti e popolari, mentre Docker e Docker Compose semplificano la creazione di ambienti di sviluppo containerizzati. In questo articolo, esploreremo come configurare e utilizzare PostgreSQL in un container Docker e interagire con esso utilizzando Python.
Creazione del File docker-compose.yml
    Iniziamo creando un file docker-compose.yml per definire il container di PostgreSQL:
version: '3.8'
services:
  db:
    image: postgres:15
    container_name: postgres_container
    environment:
      POSTGRES_USER: myuser
      POSTGRES_PASSWORD: mypassword
      POSTGRES_DB: mydatabase
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:
  
  
    Avviare il Servizio
Avviare PostgreSQL con il seguente comando:
docker compose up -d
    Questo creerà un container con PostgreSQL in ascolto sulla porta 5432.
Installazione delle Librerie Python
Installiamo la libreria psycopg2 per interagire con PostgreSQL da Python:
pip install psycopg2
  
  
    Script Python per Connettersi a PostgreSQL
Creiamo uno script Python per connettersi e interagire con il database:
import psycopg2
def connect_to_db():
    try:
        connection = psycopg2.connect(
            database="mydatabase",
            user="myuser",
            password="mypassword",
            host="localhost",
            port="5432"
        )
        cursor = connection.cursor()
        cursor.execute("SELECT version();")
        db_version = cursor.fetchone()
        print("Connessione stabilita. Versione del database:", db_version)
        cursor.close()
        connection.close()
    except Exception as error:
        print("Errore nella connessione al database:", error)
if __name__ == "__main__":
    connect_to_db()
  
  
    Test dello Script
Eseguire lo script Python per verificare che la connessione funzioni correttamente:
python script.py
    Dovresti vedere un messaggio che conferma la connessione e la versione del database.
Conclusione
Abbiamo configurato PostgreSQL in Docker utilizzando Docker Compose e abbiamo creato uno script Python per interagire con esso. Questo approccio semplifica la gestione del database per lo sviluppo e il test di applicazioni Python.