Re: Skipping logical replication transactions on subscriber side
Greg Nancarrow <gregn4422@gmail.com>
On Fri, Oct 29, 2021 at 4:24 PM Masahiko Sawada <sawada.mshk@gmail.com> wrote: > > I've attached a new version patch. Since the syntax of skipping > transaction id is under the discussion I've attached only the error > reporting patch for now. > I have some comments on the v19-0001 patch: v19-0001 (1) doc/src/sgml/monitoring.sgml Seems to be missing the word "information": BEFORE: + <entry>At least one row per subscription, showing about errors that + occurred on subscription. AFTER: + <entry>At least one row per subscription, showing information about + errors that occurred on subscription. (2) pg_stat_reset_subscription_worker(subid Oid, relid Oid) First of all, I think that the documentation for this function should make it clear that a non-NULL "subid" parameter is required for both reset cases (tablesync and apply). Perhaps this could be done by simply changing the first sentence to say: "Resets statistics of a single subscription worker error, for a worker running on subscription with <parameter>subid</parameter>." (and then can remove " running on the subscription with <parameter>subid</parameter>" from the last sentence) I think that the documentation for this function should say that it should be used in conjunction with the "pg_stat_subscription_workers" view in order to obtain the required subid/relid values for resetting. (and should provide a link to the documentation for that view) Also, I think that the function documentation should make it clear that the tablesync error case is indicated by a NULL "command" in the information returned from the "pg_stat_subscription_workers" view (otherwise the user needs to look at the server log in order to determine whether the error is for the apply/tablesync worker). Finally, there are currently no tests for this new function. (3) pg_stat_subscription_workers In the documentation for this, the description for the "command" column says: "This field is always NULL if the error was reported during the initial data copy." Some users may not realise that this refers to "tablesync", so perhaps add " (tablesync)" to the end of this sentence, or similar. Regards, Greg Nancarrow Fujitsu Australia
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