Re: Using failover slots for PG-non_PG logical replication
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: shveta malik <shveta.malik@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>,
Amit Kapila <amit.kapila16@gmail.com>, Ashutosh Sharma <ashu.coek88@gmail.com>
Date: 2025-07-02T12:20:18Z
Lists: pgsql-hackers
On Wed, Jul 2, 2025 at 12:36 PM shveta malik <shveta.malik@gmail.com> wrote: > > On Wed, Jul 2, 2025 at 10:50 AM Ashutosh Bapat > <ashutosh.bapat.oss@gmail.com> wrote: > > > > Hi All, > > > > The failover slots documentation [1] is good for PG - PG logical > > replication, but the first two queries require pg_subscription which > > may not be present in non-PG downstream. Somebody looking to setup > > failover slots for non-PG subscriber may not find the page useful. > > Okay. It appears to me that the entire document at [1] is > specifically intended for a built-in replication setup, and the > corresponding page was written with that context in mind. > > > However, the third query, when modified to mention the replication > > slots relevant to the downstream is useful to them. How to find the > > replication slots to be synchronized is a problem specific to the type > > of downstream. Such a setup should add those slots to > > sync_replication_slots. I think the chapter should mention that the > > 3rd query should also include the slots mentioned in > > sync_replication_slots for PG-non_PG logical replication setup. > > > > sync_replication_slots is a boolean which enables a physical standby > to synchronize logical failover slots. Did you mean something else? I confused this with the actual list of slots to be synchronized. Sorry for that. The slots to be synchronized can be obtained from the primary by querying pg_replication_slots with failover = true. > > We could include a general note in the documentation something like: > 'For non-native replication, it is the responsibility of the plugin > author to define the required slots'. Then, we can directly use the > third query. Thoughts? Something like that would work. However, a non-PG subscriber may use the built-in plugin for PG-non_PG, so it's more of a responsibility of the downstream or user than the plugin. It may help further if we mention that in such a case where pg_subscriber is not available, the slots to be synchronized can be obtained from the primary by querying pg_replication_slots with failover = true. -- Best Wishes, Ashutosh Bapat
Commits
-
Doc: Improve logical replication failover documentation.
- 5d9e675b36b5 18.0 landed
- 24f608625f9a 19 (unreleased) landed
- f2e41d9e2fb0 17.6 landed