Re: logical decoding and replication of sequences, take 2
Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
From: Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>
To: Tomas Vondra <tomas.vondra@enterprisedb.com>
Cc: Amit Kapila <amit.kapila16@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>, Masahiko Sawada <sawada.mshk@gmail.com>, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2023-07-18T13:52:12Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Migrate logical slots to the new node during an upgrade.
- 29d0a77fa660 17.0 cited
-
Make test_decoding ddl.out shorter
- d6677b93c79b 17.0 landed
- c5c5832600e9 14.9 landed
- b1dc946eee3d 16.0 landed
- 3bb8b9342f8a 15.4 landed
-
Fix snapshot handling in logicalmsg_decode
- 949ac32e1267 15.3 landed
- 8b9cbd42b61f 14.8 landed
- 4df581fa0f4b 13.11 landed
- 497f863f0598 12.15 landed
- 8de91ebf2ac1 11.20 landed
- 7fe1aa991b62 16.0 landed
-
doc: Adjust a few more references to "postmaster"
- 17e72ec45d31 16.0 cited
-
Revert "Logical decoding of sequences"
- 2c7ea57e56ca 15.0 cited
On Fri, Jul 14, 2023 at 7:33 PM Tomas Vondra <tomas.vondra@enterprisedb.com> wrote: > > Thanks for testing / confirming this! So, do we agree this behavior is > reasonable? > This behaviour doesn't need any on-disk changes or has nothing in it which prohibits us from changing it in future. So I think it's good as a v0. If required we can add the protocol option to provide more flexible behaviour. One thing I am worried about is that the subscriber will get an error only when a sequence change is decoded. All the prior changes will be replicated and applied on the subscriber. Thus by the time the user realises this mistake, they may have replicated data. At this point if they want to subscribe to a publication without sequences they will need to clean the already replicated data. But they may not be in a position to know which is which esp when the subscriber has its own data in those tables. Example, publisher: create publication pub with sequences and tables subscriber: subscribe to pub publisher: modify data in tables and sequences subscriber: replicates some data and errors out publisher: delete some data from tables publisher: create a publication pub_tab without sequences subscriber: subscribe to pub_tab subscriber: replicates the data but rows which were deleted on publisher remain on the subscriber -- Best Wishes, Ashutosh Bapat