public inbox for pgsql-admin@postgresql.org
help / color / mirror / Atom feedFrom: Eduar Flow <eduarshorybalbuena77@gmail.com>
To: Jorge Batista <Jorge.Batista@premier-research.com>
Cc: Rajni Baliyan <saan654@gmail.com>
Cc: Muhammet Kurtoğlu <muhammet.kurtoglu@bisoft.com.tr>
Cc: akshay chandratre <akshaychandratre44@gmail.com>
Cc: Mahendra Singh <msmahendrasingh18@gmail.com>
Cc: Pgsql-admin <pgsql-admin@lists.postgresql.org>
Subject: Re: How to setup Multi-master replication on postgresql 18
Date: Tue, 7 Apr 2026 22:34:03 -0600
Message-ID: <CALR9rdSLPbADaydbajsmjsAU7pBFT4c=K7XhRuXoGAJvxh64Bg@mail.gmail.com> (raw)
In-Reply-To: <BL1PR18MB416533C80F58D89EF2807530D65AA@BL1PR18MB4165.namprd18.prod.outlook.com>
References: <CAM4Za0x46sgmAqaKxfm6=gRET782hZ8sMA-DgzX3eDLnAtDEkg@mail.gmail.com>
<CANM7_8Uq9QKAX_SAcNcYz6AjZ32sYgiB5iMV45BcuHaAdDOV3A@mail.gmail.com>
<CA+Thq8HDSvSvUNrbsad+kC+yOuOd1yQzw-k=Q2r1y77hnNnSXA@mail.gmail.com>
<CAM4Za0yTj9yjksEZ3kAW296p04egz5qPiaVe7mLNgyL9qNCmKw@mail.gmail.com>
<CANM7_8W8VrSpzHOtr7cz_MSkZmU--oBhqD2atUnjLrG-doGs0w@mail.gmail.com>
<CAG5ROROEOVF0RLWnUemaa6tnU92Ys3oxTyMHRRynv2znKoTvDg@mail.gmail.com>
<BL1PR18MB416533C80F58D89EF2807530D65AA@BL1PR18MB4165.namprd18.prod.outlook.com>
1. Instalar PostgreSQL + BDR
BDR no viene incluido en PostgreSQL estándar.
Necesitas EDB Postgres Distributed (antes BDR)
Sitio: EnterpriseDB
2. Configurar parámetros (postgresql.conf)
Conf
wal_level = logical
max_replication_slots = 10
max_wal_senders = 10
max_worker_processes = 20
shared_preload_libraries = 'bdr'
3. Crear base de datos y habilitar BDR
SQL
CREATE DATABASE mydb;
\c mydb
CREATE EXTENSION bdr;
4. Crear nodo
SQL
SELECT bdr.create_node(
node_name := 'node1',
dsn := 'host=IP_NODE1 dbname=mydb user=postgres password=xxx'
);
5. Unir segundo nodo
En el segundo servidor:
SQL
SELECT bdr.join_node(
node_name := 'node2',
dsn := 'host=IP_NODE2 dbname=mydb user=postgres password=xxx',
join_using_dsn := 'host=IP_NODE1 dbname=mydb user=postgres password=xxx'
);
✔️ Ahora ambos pueden escribir (multi-master)
Yekma666
El mar, 7 de abr de 2026, 10:52, Jorge Batista <
Jorge.Batista@premier-research.com> escribió:
> PostgreSQL logical replication supports bidirectional setups, but conflict
> handling is not automated. The documentation itself highlights that
> conflicts can arise when multiple nodes accept writes and resolving them is
> left to the application or design strategy.
>
>
>
> If the requirement is strictly open-source and limited to core PostgreSQL,
> the most direct option would be bi-directional logical replication (native
> or pglogical).
>
>
>
> That said, PostgreSQL does not provide a fully managed multi-master
> solution. In practice, this means:
>
> - No built-in conflict resolution (conflicts can stop replication)
> - Risk of duplicate keys / concurrent update issues
> - Sequences need coordination (or UUIDs)
> - DDL is not automatically replicated
> - Operational complexity increases significantly
>
>
>
> Because of this, the safest approach is usually to define data ownership
> per node (e.g., by tenant or region) to avoid conflicts rather than trying
> to resolve them after the fact.
>
>
>
> Otherwise, pure core PostgreSQL multi-master setups can be difficult to
> operate reliably in production.
>
>
>
> Regards
>
>
>
> *From:* Rajni Baliyan <saan654@gmail.com>
> *Sent:* Tuesday, April 7, 2026 4:16 AM
> *To:* Muhammet Kurtoğlu <muhammet.kurtoglu@bisoft.com.tr>
> *Cc:* akshay chandratre <akshaychandratre44@gmail.com>; Mahendra Singh <
> msmahendrasingh18@gmail.com>; Pgsql-admin <
> pgsql-admin@lists.postgresql.org>
> *Subject:* Re: How to setup Multi-master replication on postgresql 18
>
>
>
> EXTERNAL: This email originated from outside of our organization. Do not
> click links or open attachments unless you recognize the sender and know
> the content is safe.
>
>
>
> Hi Muhammet,
>
> You can achieve at certain level multi master replication using postgres
> native logical replication. Latest version 18 has good conflict resolution
> as well.
>
> https://www.postgresql.org/docs/current/logical-replication.html
> <https://protect.checkpoint.com/v2/r01/___https:/www.postgresql.org/docs/current/logical-replication....;
>
>
>
>
> On Tue, 7 Apr 2026, 5:17 pm Muhammet Kurtoğlu, <
> muhammet.kurtoglu@bisoft.com.tr> wrote:
>
> You can use pg_logical extension then
>
> *Muhammet KURTOĞLU*
>
> T: +90(312) 220 12 20 <%2B90%28374%29%20262%2098%2000>
>
> F: +90(312) 286 00 10 <%2B90%28374%29%20262%2090%2091>
>
> muhammet.kurtoglu@bisoft.com.tr <caner.olkan@bisoft.com.tr>
>
>
>
>
>
>
>
>
>
>
> 7 Nis 2026 Sal, saat 10:09 tarihinde akshay chandratre <
> akshaychandratre44@gmail.com> şunu yazdı:
>
> Hi Muhammet,
>
> Thanks for suggesting symetricds community.
>
> Will check that out. But my organization wants something open-source. And
> on core postgresql.
>
>
>
> On Mon, Apr 6, 2026 at 5:13 PM Mahendra Singh <msmahendrasingh18@gmail.com>
> wrote:
>
> Dear Akshay,
>
>
>
> The answer is *EDB Postgres Distributed.*
>
>
>
> On Mon, Apr 6, 2026 at 11:09 AM Muhammet Kurtoğlu <
> muhammet.kurtoglu@bisoft.com.tr> wrote:
>
> Hi,
>
> You can use symetricds community which resolves conflicts with predefined
> rules on master master replication
>
> Best REgards
>
>
>
>
>
> akshay chandratre <akshaychandratre44@gmail.com>, 6 Nis 2026 Pzt, 09:25
> tarihinde şunu yazdı:
>
> Hi Everyone,
>
> The client required the multimaster replication on the production
> environment. I want help regarding the following things:
> 1. How to setup multi-master replication on postgresql ?
> 2. How to handle the conflicts regarding the writes on both masters
> servers ?
> 3. Is it reliable for production ? Any other suggestions or options for
> multimaster ?
>
> Postgresql V18
> Os: centOS
>
>
>
> Thanks in advance...
>
>
>
>
> --
>
> *Muhammet KURTOĞLU*
>
> T: +90(312) 220 12 20 <%2B90%28374%29%20262%2098%2000>
>
> F: +90(312) 286 00 10 <%2B90%28374%29%20262%2090%2091>
>
> muhammet.kurtoglu@bisoft.com.tr <caner.olkan@bisoft.com.tr>
>
>
>
>
>
>
>
> ------------------------------
>
> Notice: This e-mail is intended only for the named person or entity to
> which it is addressed and contains valuable business information that is
> privileged, confidential and/or otherwise protected from disclosure.
> Dissemination, distribution or copying of this e-mail or the information
> herein by anyone other than the intended recipient, or an employee, or
> agent responsible for delivering the message to the intended recipient, is
> strictly prohibited. All contents are the copyright property of the sender.
> If you are not the intended recipient, you are nevertheless bound to
> respect the sender's worldwide legal rights. We require that unintended
> recipients delete the e-mail and destroy all electronic copies in their
> system, retaining no copies in any media. If you have received this e-mail
> in error, please immediately notify us by returning the e-mail to the
> sender. We appreciate your cooperation.
>
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-admin@postgresql.org
Cc: eduarshorybalbuena77@gmail.com, Jorge.Batista@premier-research.com, saan654@gmail.com, muhammet.kurtoglu@bisoft.com.tr, akshaychandratre44@gmail.com, msmahendrasingh18@gmail.com, pgsql-admin@lists.postgresql.org
Subject: Re: How to setup Multi-master replication on postgresql 18
In-Reply-To: <CALR9rdSLPbADaydbajsmjsAU7pBFT4c=K7XhRuXoGAJvxh64Bg@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox