Bi-Directional Replication for PostgreSQL (Postgres-BDR, or BDR) is the first open source multi-master replication system for PostgreSQL to reach full production status, developed by 2ndQuadrant and assisted by an active user community. BDR is specifically designed for use in geographically distributed clusters, using highly efficient asynchronous logical replication, supporting anything from 2 to more than 48 nodes in a distributed database.
Organizations with geographically distributed databases will understand the complexity of replication and the goal of achieving efficient and accurate replicas of data. Unlike other solutions, BDR doesn't rely on using triggers to collect changes and insert them into a queue table. Instead it processes the WAL using the changeset extraction mechanism developed by 2ndQuadrant for version 9.4 of PostgreSQL. This solution avoids the write amplification involved in trigger-based solutions.
Postgres-BDR has some very impressive results, which you can view [here].
License, Community and Contributions
Postgres-BDR, an extension to PostgreSQL is free and open source licensed under the [same terms] as PostgreSQL. While BDR includes modifications to PostgreSQL, we will continue to move all of those to future versions of PostgreSQL, as we have done successfully in versions 9.3 and 9.4.
(Postgres-BDR 1.0.2 on Server version 9.4.12 Released - May 18, 2017)
Postgres-BDR is available as RPMs via yum for Fedora, CentOS, & RHEL, and as DEBs via apt for Debian and Ubuntu. For installation instructions, please click here.
You can view the release notes here.
The complete source code for Postgres-BDR is available here.
How to Get Started
For an example setup visit our [start-up guide], which will explain how to get a simple setup of Postgres-BDR running on Linux in just a few minutes.
The full BDR reference manual is available here.
Postgres-BDR vs Other Open Source Replication Solutions
Postgres-BDR has a lower impact on the masters(s) than trigger-based replication solutions. There is no write-amplification, as it does not require triggers to write to queue tables in order to replicate writes.
Support for Postgres-BDR
You can raise a query with the Postgres-BDR community by sending an email to [email protected]. Alternatively, you can access it via Google Groups at https://groups.google.com/a/2ndQuadrant.com/forum/#!forum/bdr-list.
Postgres-BDR is developed and supported by 2ndQuadrant. 2ndQuadrant provides professional support for BDR, as well as consultation and training. With our deep knowledge of distributed databases, we will ensure that you are able to evaluate your use case and applications and determine the most suitable product or solution.
Postgres-BDR is also available in 2ndQuadrant Cloud, initially on AWS.
The Future of Postgres-BDR
Future releases are working towards PostgreSQL 9.6 support, as well as improvements to interoperation with PostgreSQL's built-in physical replication, better High Availability capabilities and improved monitoring.
Subscribe to the 2ndQuadrant mailing list in the footer of this page to receive updates on Postgres-BDR as well as blog updates with feature highlights and instructions.
Want to Know More?
If you'd like to know more about PostgreSQL replication technology, including Postgres-BDR, please get in touch. We'd be delighted to hear from you.