trading-system-docs/notes/trading/system-docs/modul-01-postgresql.md

2 KiB

Modul-01-PostgreSQL — Betriebsdokumentation

Erstellt: 20.08.2026 (Rain Ocampo) · Status: In Betrieb (healthy)

Zweck

Zentrale Datenbank des Trading-Systems. Persistiert Marktdaten (OHLCV), Journal- und Betriebszustände. Keine Strategie, keine Orders — nur zuverlässige Datenspeicherung.

Container

Attribut Wert
Name Modul-01-PostgreSQL
Image postgres:16-alpine (PG 16.13)
Port 55432 (Host) / 5432 (Docker-intern)
Netzwerk trading-modules (bridge)
IP (intern) 10.0.13.13
Restart unless-stopped
Status healthy

Credentials (Compose Env)

Variable Wert (Default) Zweck
POSTGRES_DB trading Standard-Datenbank
POSTGRES_USER trading Standard-User
POSTGRES_PASSWORD trading aus .env-Defaults ${VAR:-default}

Konfiguration

  • Image: postgres:16-alpine (schlank, produktionsreif)
  • PGDATA: /var/lib/postgresql/data
  • Docker-interner Servicename: Modul-01-PostgreSQL (von anderen Modulen so referenziert, keine feste IP)
  • Host-Port: 55432 (für externen DB-Client / DBA-Tooling, nicht für Modul-Kommunikation)

Schema

Siehe modul-03-market-data.md → Tabelle public.ohlcv (Symbol, Timeframe, OHLCV, Timestamps, Provider). Unique-Constraint uq_ohlcv_provider_symbol_tf_ts inkl. Provider für Multi-Broker-Unterstützung.

Verbraucher (Module, die schreiben/lesen)

  • Modul-03-Market-Data → schreibt ohlcv (Hauptschreiber)
  • Modul-10-Trade-Journal → Journal-Daten
  • Weitere Module lesen OHLCV für Analyse/Backtesting (Modul-11, 12, 13)

Sicherheit

  • Creds nur via Environment Variables / Docker-Secrets (Compose ${VAR:-default}), nie in Doku-Repos hartkodiert
  • Host-Port 55432 nur wenn externer Zugriff nötig — kein unnötig öffentlicher Port

Geändert von: Rain Ocampo
Datum: 20.08.2026
Grund: Modul-01-Dokumentation nachgetragen (lief bereits produktiv, fehlte in Repo).