Re: row filtering for logical replication
От | Greg Nancarrow |
---|---|
Тема | Re: row filtering for logical replication |
Дата | |
Msg-id | CAJcOf-cHxdcd3596nKqKTXWSbi5v9_2TLyR1YgmOptdo3Kj92A@mail.gmail.com обсуждение исходный текст |
Ответ на | Re: row filtering for logical replication (Amit Kapila <amit.kapila16@gmail.com>) |
Ответы |
Re: row filtering for logical replication
|
Список | pgsql-hackers |
On Wed, Dec 15, 2021 at 5:25 PM Amit Kapila <amit.kapila16@gmail.com> wrote: > > > "If a subscriber is a pre-15 version, the initial table > > synchronization won't use row filters even if they are defined in the > > publisher." > > > > Won't this lead to data inconsistencies or errors that otherwise > > wouldn't happen? > > > > How? The subscribers will get all the initial data. > But couldn't getting all the initial data (i.e. not filtering) break the rules used by the old/new row processing (see v46-0003 patch)? Those rules effectively assume rows have been previously published with filtering. So, for example, for the following case for UPDATE: old-row (no match) new row (match) -> INSERT the old-row check (no match) infers that the old row was never published, but that row could in fact have been in the initial unfiltered rows, so in that case an INSERT gets erroneously published instead of an UPDATE, doesn't it? > > Should such subscriptions be allowed? > > > > I am not sure what you have in mind here? How can we change the > already released code pre-15 for this new feature? > I was thinking such subscription requests could be rejected by the server, based on the subscriber version and whether the publications use filtering etc. Regards, Greg Nancarrow Fujitsu Australia
В списке pgsql-hackers по дате отправления: