Unified Server-Side Transaction Replay for PostgreSQL Failover: Merging Connection-Level and Transaction-Level Continuity with Savepoint-Aware Journaling and WAL-Synchronized Replay
Authors/Creators
Description
This defensive publication discloses a proxy-based transaction replay system for PostgreSQL-compatible databases, implemented as part of HeliosProxy (Dimensigon). The system provides transparent failover without client modification by maintaining a per-session, savepoint-aware transaction journal anchored to the PostgreSQL write-ahead log (WAL LSN), replaying it autonomously against a new primary after failover, and verifying correctness via CRC64 result checksums.
Five specific contributions are disclosed as prior art: (1) the first proxy-side transaction replay for PostgreSQL-compatible databases; (2) unified cursor restoration (analogous to Oracle TAF) and DML replay (analogous to Oracle TAC/Application Continuity) in a single mechanism; (3) savepoint-aware journal truncation enabling correct partial rollback during replay; (4) WAL LSN anchoring that verifies standby synchronization before replay begins; and (5) backend connection swapping that preserves the client TCP session and TLS session through failover without client-visible reconnection.
The work is positioned relative to Oracle Application Continuity (client-directed, OCI/JDBC driver), MariaDB MaxScale 2.3.0 (proxy-directed, MySQL only), and the PostgreSQL proxy ecosystem (PgBouncer, Pgpool-II, Patroni, AWS RDS Proxy — none of which provide transaction replay). This is the first disclosure of proxy-side transaction replay for the PostgreSQL wire protocol.
Implemented in Rust under AGPL-3.0 / SSPL-1.0. Published as prior art under CC-BY-4.0.
Files
DP_cs_DB_TR001.pdf
Additional details
Software
- Repository URL
- https://github.com/dimensigon/heliosdb-proxy
- Programming language
- Rust
- Development Status
- Active