Bi-directional replication (Postgres-BDR) is a project used to allow multi-master replication with PostgreSQL. There is a range of possible architectures. The first use case we support is all-nodes-to-all-nodes. Postgres-BDR will eventually support a range of complex architectures, which is discussed later.
Postgres-BDR aims for eventual inclusion within core PostgreSQL, though knowing that is a long and rigorous process, it also aims to provide working software solutions, now!
Postgres-BDR aims to allow the nodes of the cluster to be physically distributed, allowing worldwide access to data and allowing for disaster recovery. Each Postgres-BDR master node runs individual transactions; there is no globally distributed transaction manager. Postgres-BDR includes replication of data changes and data definition (DDL) changes. New tables are added automatically...