BDR (Bi-Directional Replication)

Overview

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

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

Supported PostgreSQL database servers

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

BDR Version

PostgreSQL

EDB Postgres Extended

EDB Postgres Advanced

4.0.0

14.1

14.1

14.1

4.0.0

13.5

13.5r1.1.7

13.5

4.0.0

12.9

12.9r1.1.9

12.9

3.7.13.1

13.5

13.5r1.1.7

13.5

3.7.13.1

12.9

12.9r1.1.9

12.9

3.7.13.1

11.14

11.14r2.1.9

11.14

It is important to note that some key BDR features depend on certain corecapabilities being available within the targeted PostgresSQL database server.Therefore, it is essential for the BDR customers to also adopt the PostgresSQLdatabase server flavor that is best suited to their business needs. Forexample, if having the BDR feature “Commit At Most Once (CAMO)” is missioncritical to a BDR customer’s use case, they should not adopt the communityPostgreSQL flavor for it does not have the core capability required to handleCAMO. The full feature matrix compatibility can be found inFeature Compatibility appendix.

BDR offers close to native PostgreSQL compatibility. However, some accesspatterns don’t necessarily work as well in multi-node setup as they do onsingle instance. There are also some limitations in what can be safelyreplicated in multi-node setting. The chapter Application Usagegoes into detail on how BDR behaves from application development perspective.