Home Up PDF Prof. Dr. Ingo Claßen
Ü: Verteilte Transaktionen - ADBKT

Übung Verteilte Transaktionen

Vorbereitung

In pg1 und pg2 durchführen

su postgres
psql postgres
SHOW max_prepared_transactions;
ALTER SYSTEM SET max_prepared_transactions = 100;

Container stoppen und starten (restart)

Locks

select relation::regclass, mode from pg_locks;

Umsetzung Zwei-Phasen-Commit-Protokoll

Implementieren sie Überweisungs-Szenarien, in dem zwei Postgres-Datenbanken in einer Transaktion zusammenspielen.

Szenario 1

  • Abbuchen 100 Euro von Konto 1001 auf Server "pg1"
  • Zubuchen 100 Euro auf Konto 1002 auf Server "pg2"
  • Erfolgreicher Abschluss

Szenario 2

  • Abbuchen 100 Euro von Konto 1001 auf Server "pg1"
  • Zubuchen 100 Euro auf Konto 1002 auf Server "pg2"
  • Abbruch

Informationen zur Umsetzung finden sie in der psycopg-Dokumentation.

  • Two-Phase Commit protocol support (link)
  • Two-Phase Commit support methods (link)
  • Verwenden sie als xid den String "ttt"