Multi master replication for painless fault tolerance
summary
A multimaster system built as a Postgres Pro extension runs on a Postgres 9.6 patch and turns every commit into a prepare, uses a modified logical replication / pgl client plus an Arbiter background worker to count votes, and implements Clock-SI style snapshot isolation so cluster-wide transactions are atomic while majority of nodes remain up. DDL is replicated at statement level, tests run in Docker (banking transfer test with injected partitions), catchup stops after a configurable ~10MB window, and commit latency needs two network round trips so geo‑replication is costly.
AI-written summary · about
chapters (10)
- 0:00Start
- 3:47TLDR: replica recovery
- 5:45Design objectives: OLAP vs. OLTP
- 6:51Design objectives: replication
- 8:00Posgres Design objectives: transaction manager
- 8:48Design objectives: liveness
- 11:10Implementation
- 22:32Configuration
- 25:18Testing
- 29:49Roadmap
related talks
24mAutomatic DDL Replication with pgEdge Distributed Postgres
44mThe journey towards active-active replication in PostgreSQL
50mSparta’s Dual Kingship and PostgreSQL Active-Active
53mThe journey towards active replication in PostgreSQL
49mDistributed DDL Replication at Global Scale
39mLogical Replication handling of large transactions
34mMassive Multi-node setup with Postgres and BDR in Retail System
21mHow Safe is Asynchronous Master-Master Setup?
