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.

-  :ref:`Monitoring overview <Monitoring overview>`  introduces the idea of conflicts in PGD and explains
   how they can happen.

-  :ref:`Types of Conflict <Types of Conflict>`  lists and discusses the various sorts of conflicts you
   might run across in PGD.

-  :ref:`Column-level conflict detection <Column-level conflict detection>`  introduces the mechanisms PGD provides for conflict
   detection.

-  :ref:`Conflict resolution <Conflict resolution>`  explains how PGD resolves conflicts and how you can
   change the default behavior.

-  :ref:`Conflict logging <Conflict logging>`  points out where PGD keeps conflict logs and explains
   how you can perform conflict reporting.

-  :ref:`Data verification with LiveCompare <Data verification with LiveCompare>`  explains how LiveCompare can help keep data consistent
   by pointing out conflicts as they arise.

.. toctree::
  :maxdepth: 3

  PGD_Features--conflict-management--conflicts--00_conflicts_overview
  PGD_Features--conflict-management--conflicts--02_types_of_conflict
  PGD_Features--conflict-management--conflicts--03_conflict_detection
  PGD_Features--conflict-management--conflicts--04_conflict_resolution
  PGD_Features--conflict-management--conflicts--05_conflict_logging
  PGD_Features--conflict-management--conflicts--06_live_compare
