# PostgreSQL 18 zum Entwickeln und Testen (Daten im Volume aiw-postgres18). # # docker compose up -d # starten # docker compose down # anhalten, Daten bleiben # docker compose down -v # anhalten und Daten löschen # # Datenbanken: aiw (für Web und Worker) und die Verwaltungsdatenbank postgres # (für die Tests; jeder Testlauf legt dort eine eigene an und räumt sie ab). # Port 55433, damit es nicht mit Hugin (55432) kollidiert. # # Ab PostgreSQL 18 liegen die Daten unter /var/lib/postgresql/18/docker; das Volume hängt deshalb an # /var/lib/postgresql (nicht mehr …/data). Eine neue Hauptversion startet nicht mit den Daten der alten: # lokal mit scripts/dev.sh --reset neu anfangen oder vorher pg_dumpall. Das frühere Volume aiw-postgres # (PostgreSQL 17) bleibt liegen, bis man es löscht: docker volume rm ai-workspace_aiw-postgres name: ai-workspace services: postgres: image: postgres:18.6 environment: POSTGRES_USER: aiw POSTGRES_PASSWORD: aiw POSTGRES_DB: aiw ports: - "127.0.0.1:55433:5432" volumes: - aiw-postgres18:/var/lib/postgresql healthcheck: test: ["CMD-SHELL", "pg_isready -U aiw -d aiw"] interval: 2s timeout: 3s retries: 30 restart: unless-stopped # Oracle zum Testen von db-mcp-oracle (nur mit --profile oracle): # docker compose --profile oracle up -d oracle # Oracle Database 23ai Free, Pluggable Database FREEPDB1, Admin: system / aiw. # In der Arbeit läuft 19c: Tests und Treiber nutzen nur SQL, das es in 19c schon gibt. oracle: image: gvenzl/oracle-free:23-slim-faststart profiles: ["oracle"] environment: ORACLE_PASSWORD: aiw ports: - "127.0.0.1:55434:1521" volumes: - aiw-oracle:/opt/oracle/oradata healthcheck: test: ["CMD", "healthcheck.sh"] interval: 5s timeout: 5s retries: 60 restart: unless-stopped volumes: aiw-postgres18: aiw-oracle: