Re: Skipping logical replication transactions on subscriber side
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
On 02.12.21 07:48, Amit Kapila wrote: > a. ALTER SUBSCRIPTION ... [SET|RESET] SKIP TRANSACTION xxx; > b. Alter Subscription <sub_name> SET ( subscription_parameter [=value] > [, ... ] ); > c. Alter Subscription <sub_name> On Error ( subscription_parameter > [=value] [, ... ] ); > d. Alter Subscription <sub_name> SKIP ( subscription_parameter > [=value] [, ... ] ); > where subscription_parameter can be one of: > xid = <xid_val> > lsn = <lsn_val> > ... > As per discussion till now, option (d) seems preferable. I agree. > In this, we > need to see how and what to allow as options. The simplest way for the > first version is to just allow one xid to be specified at a time which > would mean that specifying multiple xids should error out. We can also > additionally allow specifying operations like 'insert', 'update', > etc., and then relation list (list of oids). What that would mean is > that for a transaction we can allow which particular operations and > relations we want to skip. I don't know how difficult it would be, but allowing multiple xids might be desirable. But this syntax gives you flexibility, so we can also start with a simple implementation. > I am not sure what exactly we can provide to users to allow skipping > initial table sync as we can't specify XID there. One option that > comes to mind is to allow specifying a combination of copy_data and > relid to skip table sync for a particular relation. We might think of > not doing anything for table sync workers but not sure if that is a > good option. I don't think this feature should affect tablesync. The semantics are not clear, and it's not really needed. If the tablesync doesn't work, you can try the setup again from scratch.
Commits
-
Test ALIGNOF_DOUBLE==4 compatibility under ALIGNOF_DOUBLE==8.
- c1da0acbb06e 15.0 landed
-
Reorder subskiplsn in pg_subscription to avoid alignment issues.
- 79b716cfb7a1 15.0 landed
-
Add ALTER SUBSCRIPTION ... SKIP.
- 208c5d65bbd6 15.0 landed
-
Optionally disable subscriptions on error.
- 705e20f8550c 15.0 cited
-
Update docs of logical replication for commit 8d74fc96db.
- 85c61ba8920b 15.0 landed
-
Respect permissions within logical replication.
- a2ab9c06ea15 15.0 cited
-
Fix regression test failure caused by commit 8d74fc96db.
- 41e66fee0516 15.0 landed
-
Add a view to show the stats of subscription workers.
- 8d74fc96db5f 15.0 landed
-
Add logical change details to logical replication worker errcontext.
- abc0910e2e0a 15.0 landed
-
Rename LOGICAL_REP_MSG_STREAM_END to LOGICAL_REP_MSG_STREAM_STOP.
- 4cd7a1896871 15.0 landed
-
Fix typo in protocol.sgml.
- e1915646658d 14.0 landed
- 0ac1aee0d7d8 15.0 landed
-
Remove unused argument in apply_handle_commit_internal().
- f4b939f1a372 14.0 landed
- 16bd4becee32 15.0 landed
-
Fix replication of in-progress transactions in tablesync worker.
- 0926e96c4934 14.0 cited
-
Reorder pg_sequence columns to avoid alignment issue
- f3b421da5f4a 10.0 cited