Conflicts#
EDB Postgres Distributed is an active/active or multi-master DBMS. If used asynchronously, writes to the same or related rows from multiple different nodes can result in data conflicts when using standard data types.
Conflicts aren’t errors. In most cases, they are events that PGD can detect and resolve as they occur. This section introduces the PGD functionality that allows you to manage that detection and resolution.
DDL overview introduces the idea of conflicts in PGD and explains how they can happen.
Types of Conflict lists and discusses the various sorts of conflicts you might run across in PGD.
Column-level conflict detection introduces the mechanisms PGD provides for conflict detection.
Missing-column conflict resolution explains how PGD resolves conflicts and how you can change the default behavior.
Conflict logging points out where PGD keeps conflict logs and explains how you can perform conflict reporting.
Data verification with LiveCompare explains how LiveCompare can help keep data consistent by pointing out conflicts as they arise.
- Overview
- Types of Conflict
- PRIMARY KEY or UNIQUE conflicts
- INSERT/INSERT conflicts
- INSERT operations that violate UNIQUE or EXCLUDE constraints
- UPDATE/UPDATE conflicts
- UPDATE conflicts on the PRIMARY KEY
- UPDATE operations that violate UNIQUE or EXCLUDE constraints
- UPDATE/DELETE conflicts
- INSERT/UPDATE conflicts
- INSERT/DELETE conflicts
- DELETE/DELETE conflicts
- Conflicts with three or more nodes
- Foreign key constraint conflicts
- TRUNCATE conflicts
- Data conflicts for roles and tablespace differences
- Lock conflicts and deadlock aborts
- Divergent conflicts
- TOAST support details
- PRIMARY KEY or UNIQUE conflicts
- Conflict detection
- Conflict resolution
- Conflict logging
- Data verification with LiveCompare