Choosing a Postgres distribution
================================

EDB Postgres Distributed can be deployed with three different Postgres
distributions: PostgreSQL, EDB Postgres Extended Server, or EDB Postgres
Advanced Server. The availability of particular EDB Postgres Distributed
features depends on the Postgres distribution being used. Therefore,
it’s essential to adopt the Postgres distribution best suited to your
business needs. For example, if having the Commit At Most Once (CAMO)
feature is mission critical to your use case, don’t adopt open source
PostgreSQL, which doesn’t have the core capabilities required to handle
CAMO.

The following table lists features of EDB Postgres Distributed that are
dependent on the Postgres distribution and version.

.. csv-table::
  :header: Feature,PostgreSQL,EDB Postgres Extended,EDB Postgres Advanced
  :widths: 15,12,12,20
  :align: left
  :class: longtable

   :ref:`Rolling application and database upgrades <upgrades/>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <Conflicts>` ,Y,Y,Y
   :ref:`DML and DDL replication and nonreplication<DML and DDL replication and nonreplication>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <DDL replication>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <Transaction streaming>` ,v14+,v13+,v14+
  :ref:`PGD/TPA upgrades <Sequences>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <Subscriber-only nodes and groups>` ,Y,Y,Y
   :ref:`Monitoring<Monitoring>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <OpenTelemetry integration>` ,Y,Y,Y
   :ref:`Parallel Apply<Parallel Apply>` ,Y,Y,Y
  :ref:`PGD/TPA upgrades <Conflict-free replicated data types>` ,Y,Y,Y
   :ref:`Enabling and disabling column-level conflict resolution<Enabling and disabling column-level conflict resolution>` ,Y,Y,Y
   :ref:`Transform triggers<Transform triggers>` ,Y,Y,Y
   :ref:`Conflict triggers<Conflict triggers>` ,Y,Y,Y
   :ref:`Asynchronous replication<Asynchronous replication>` ,Y,Y,Y
   :ref:`Legacy synchronous replication using PGD<Legacy synchronous replication using PGD>` ,Y,Y,Y
   :ref:`Group commit<Group commit>` ,N,Y,14+
  :ref:`PGD/TPA upgrades <Commit At Most Once>` ,N,Y,14+
   :ref:`Eager conflict resolution<Eager conflict resolution>` ,N,Y,14+
   :ref:`Lag Control<Lag Control>` ,N,Y,14+
   :ref:`Decoding worker<Decoding worker>` ,N,13+,14+
  :ref:`PGD/TPA upgrades <Monitoring through SQL>` ,N,Y,14+
  Missing partition conflict,N,Y,14+
  No need for UPDATE Trigger on tables with TOAST,N,Y,14+
  Automatically hold back FREEZE,N,Y,14+
   :ref:`Transparent Data Encryption </tde/latest/>` ,N,15+,15+
