Collect statistics about conflicts in logical replication.
Amit Kapila <akapila@postgresql.org>
Collect statistics about conflicts in logical replication.
This commit adds columns in view pg_stat_subscription_stats to show the
number of times a particular conflict type has occurred during the
application of logical replication changes. The following columns are
added:
confl_insert_exists:
Number of times a row insertion violated a NOT DEFERRABLE unique
constraint.
confl_update_origin_differs:
Number of times an update was performed on a row that was
previously modified by another origin.
confl_update_exists:
Number of times that the updated value of a row violates a
NOT DEFERRABLE unique constraint.
confl_update_missing:
Number of times that the tuple to be updated is missing.
confl_delete_origin_differs:
Number of times a delete was performed on a row that was
previously modified by another origin.
confl_delete_missing:
Number of times that the tuple to be deleted is missing.
The update_origin_differs and delete_origin_differs conflicts can be
detected only when track_commit_timestamp is enabled.
Author: Hou Zhijie
Reviewed-by: Shveta Malik, Peter Smith, Anit Kapila
Discussion: https://postgr.es/m/OS0PR01MB57160A07BD575773045FC214948F2@OS0PR01MB5716.jpnprd01.prod.outlook.com
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/logical-replication.sgml | modified | +9 −8 |
| doc/src/sgml/monitoring.sgml | modified | +75 −2 |
| src/backend/catalog/system_views.sql | modified | +6 −0 |
| src/backend/replication/logical/conflict.c | modified | +4 −1 |
| src/backend/utils/activity/pgstat_subscription.c | modified | +17 −0 |
| src/backend/utils/adt/pgstatfuncs.c | modified | +26 −7 |
| src/include/catalog/catversion.h | modified | +1 −1 |
| src/include/catalog/pg_proc.dat | modified | +3 −3 |
| src/include/pgstat.h | modified | +4 −0 |
| src/include/replication/conflict.h | modified | +8 −0 |
| src/test/regress/expected/rules.out | modified | +7 −1 |
| src/test/subscription/t/026_stats.pl | modified | +44 −17 |
Documentation touched
Discussion
- Collect statistics about conflicts in logical replication 27 messages · 2024-08-22 → 2024-09-04