Re: BUG #18897: Logical replication conflict after using pg_createsubscriber under heavy load
Amit Kapila <amit.kapila16@gmail.com>
From: Amit Kapila <amit.kapila16@gmail.com>
To: duffieldzane@gmail.com, pgsql-bugs@lists.postgresql.org
Date: 2025-04-21T06:09:53Z
Lists: pgsql-bugs
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Fix duplicate transaction replay during pg_createsubscriber.
- e1c3654839e4 19 (unreleased) landed
- 33f74b806ce3 18.0 landed
- 967309116f0d 17.6 landed
-
pg_createsubscriber: Fix an unpredictable recovery wait time.
- 03b08c8f5f3e 18.0 cited
On Thu, Apr 17, 2025 at 4:58 AM PG Bug reporting form <noreply@postgresql.org> wrote: > > The following bug has been logged on the website: > > Bug reference: 18897 > Logged by: Zane Duffield > Email address: duffieldzane@gmail.com > PostgreSQL version: 17.4 > Operating system: RHEL9 Linux > Description: > > Hi all, > > I'm in the process of converting our databases from pglogical logical > replication to the native logical replication implementation on PostgreSQL > 17. One of the bugs we encountered and had to work around with pglogical was > the plugin dropping records while converting to a streaming replica to > logical via pglogical_create_subscriber (reported > https://github.com/2ndQuadrant/pglogical/issues/349). I was trying to > confirm that the native logical replication implementation did not have this > problem, and I've found that it might have a different problem. > > In rare cases, I'm finding that the logical replica can start with the > logical decoder stuck on a conflicting primary key even though the replica > received no connections, and only decoded changes from the one primary. > > I should say that I've been operating under the assumption that > pg_createsubscriber is designed for use on a replica for a *live* primary > database, if this isn't correct then someone please let me know. > As per my understanding, your assumption is correct, otherwise, we should have given an ERROR at the start that we don't allow creating a subscriber for the live primary. -- With Regards, Amit Kapila.