CRDTs Overview v5.6
Documentation improvements are made only to the latest version.
As per semantic versioning, PGD minor releases remain backward compatible and may include important bug fixes and enhancements.
We recommend upgrading the latest minor release as soon as possible.
If you want up-to-date information, read the latest PGD documentation.
Introduction to CRDTs
Conflict-free replicated data types (CRDTs) support merging values from concurrently modified rows instead of discarding one of the rows as the traditional resolution does.
Each CRDT type is implemented as a separate PostgreSQL data type with an extra callback added to the bdr.crdt_handlers
catalog. The merge process happens inside the PGD writer on the apply side without any user action needed.
CRDTs require the table to have column-level conflict resolution enabled, as described in Column-level conflict resolution.
CRDTs in PostgreSQL
The CRDTs are installed as part of bdr
into the bdr
schema. For convenience, the basic operators (+
, #
and !
) and a number of common aggregate functions (min
, max
, sum
, and avg
) are created in pg_catalog
. Thus they are available without having to tweak search_path
.
- On this page
- Introduction to CRDTs
- CRDTs in PostgreSQL