| From: | Laurenz Albe <laurenz(dot)albe(at)cybertec(dot)at> |
|---|---|
| To: | PGSQL DBA <pgsqldba(dot)1987(at)gmail(dot)com>, pgsql-admin(at)lists(dot)postgresql(dot)org |
| Subject: | Re: How to Handle Sequences in Logical Bi-Directional Replication |
| Date: | 2024-06-13 07:15:43 |
| Message-ID: | 186ddb32d1f5e6bc46fdd6546fcc225a4d2dc3b6.camel@cybertec.at |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-admin |
On Thu, 2024-06-13 at 09:23 +0800, PGSQL DBA wrote:
> I am reaching out to seek your guidance and expertise on handling sequences
> in a bi-directional logical replication setup.
>
> I am planning to set up two PostgreSQL-16 database servers with logical bi-directional
> replication, using the `origin=none` configuration. In this setup, my application will
> be connecting to either of the database servers for DML operations.
You will have to resolve conflicts manually.
> Given this scenario, I am looking for the best practices to handle sequence values to
> ensure consistency and avoid conflicts. Specifically, I would like to understand:
>
> 1. How to configure sequences to avoid duplicate values in both database servers.
On server 1:
CREATE TABLE tab (
id bigint BENERATED ALWAYS AS IDENTITY (START 1 INCREMENT 2)
PRIMARY KEY,
...
);
On server 2:
CREATE TABLE tab (
id bigint BENERATED ALWAYS AS IDENTITY (START 2 INCREMENT 2)
PRIMARY KEY,
...
);
Yours,
Laurenz Albe
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Ron Johnson | 2024-06-13 12:52:18 | Get PG primary version without substring manipulation? |
| Previous Message | Muhammad Ikram | 2024-06-13 05:34:35 | Re: How to Handle Sequences in Logical Bi-Directional Replication |