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.