Other considerations v5
Review these other considerations when planning your deployment.
Data Consistency
Read about Conflicts to understand the implications of the asynchronous operation mode in terms of data consistency.
Deployment
EDB PGD is intended to be deployed in one of a small number of known-good configurations, using either Trusted Postgres Architect or a configuration management approach and deployment architecture approved by Technical Support.
Manual deployment isn't recommended and might not be supported.
Log messages and documentation are currently available only in English.
Sizing considerations
For production deployments, EDB recommends a minimum of 4 cores for each Postgres data node. Witness nodes don't participate in the data replication operation and don't have to meet this requirement. Always size logical standbys exactly like the data nodes to avoid performance degradations in case of a node promotion. In production deployments, PGD proxy nodes require minimum of 1 core, and should increase incrementally in correlation with an increase in the number of database cores in approximately a 1:10 ratio. EDB recommends detailed benchmarking of your specific performance requirements to determine appropriate sizing based on your workload. The EDB Professional Services team is available to assist if needed.
For development purposes, don't assign Postgres data nodes fewer than two cores. The sizing of Barman nodes depends on the database size and the data change rate.
You can deploy Postgres data nodes, Barman nodes, and PGD proxy nodes on virtual machines or in a bare metal deployment mode. However, don't deploy multiple data nodes on VMs that are on the same physical hardware, as that reduces resiliency. Also don't deploy multiple PGD proxy nodes on VMs on the same physical hardware, as that, too, reduces resiliency.
Single PGD Proxy nodes can be co-located with single PGD data nodes.
Clocks and timezones
EDB Postgres Distributed has been designed to operate with nodes in multiple timezones, allowing a truly worldwide database cluster. Individual servers do not need to be configured with matching timezones, though we do recommend using log_timezone = UTC
to ensure the human readable server log is more accessible and comparable.
Server clocks should be synchronized using NTP or other solutions.
Clock synchronization is not critical to performance, as is the case with some other solutions. Clock skew can impact Origin Conflict Detection, though EDB Postgres Distributed provides controls to report and manage any skew that exists. EDB Postgres Distributed also provides Row Version Conflict Detection, as described in Conflict Detection.