BDR (Bi-Directional Replication) v4.0

Overview

BDR is a PostgreSQL extension providing multi-master replication and data distribution with advanced conflict management, data-loss protection, and throughput up to 5X faster than native logical replication, and enables distributed PostgreSQL clusters with high availability up to five 9s.

Detailed overview about how BDR works is described in the Architectural Overview chapter.

Supported PostgreSQL database servers

BDR is compatible with PostgresSQL, EDB Postgres Extended and EDB Postgres Advanced flavors of PostgresSQL database servers and can be deployed as a standard PG extension. Full compatibility matrix is as follows.

BDR VersionPostgreSQLEDB Postgres ExtendedEDB Postgres Advanced
4.0.014.114.114.1
4.0.013.513.5r1.1.713.5
4.0.012.912.9r1.1.912.9
3.7.13.113.513.5r1.1.713.5
3.7.13.112.912.9r1.1.912.9
3.7.13.111.1411.14r2.1.911.14

It is important to note that some key BDR features depend on certain core capabilities being available within the targeted PostgresSQL database server. Therefore, it is essential for the BDR customers to also adopt the PostgresSQL database server flavor that is best suited to their business needs. For example, if having the BDR feature "Commit At Most Once (CAMO)" is mission critical to a BDR customer’s use case, they should not adopt the community PostgreSQL flavor for it does not have the core capability required to handle CAMO. The full feature matrix compatibility can be found in Feature Compatibility appendix.

BDR offers close to native PostgreSQL compatibility. However, some access patterns don't necessarily work as well in multi-node setup as they do on single instance. There are also some limitations in what can be safely replicated in multi-node setting. The chapter Application Usage goes into detail on how BDR behaves from application development perspective.