PostgreSQL

To provide stable operation of a PostgreSQL server, make sure that you have enough disk space and compute resources allocated to the server and the following recommended settings configured.

General Recommendations

  • It is highly recommended that you install PostgreSQL on a dedicated server.
  • It is recommended that you back up PostgreSQL databases on a regular basis. You can use Veeam Backup & Replication for this purpose.

Disk Size Calculation

When calculating the disk space required for the PostgreSQL server, take into account your desired data set, daily change rate and the retention policy settings. The initial backup of Salesforce data requires at least x1.6 more disk space in PostgreSQL since the product creates both the latest and history records. All further backups are incremental and consume the same amount of disk space as original records occupy in Salesforce.

You can use the following formula to calculate the required disk space: (Salesforce Used Data Space * 1.6) + (Size of Added Data * Planned Period of Data Backup) + (Size of Changed Data * Number of Backups Within Your Retention Period).

Tip

To check the amount of space currently occupied by your data in the Salesforce database, open the Salesforce UI and navigate to Setup > Company Information.

Consider the following example:

  • Salesforce Used Data Space — your Salesforce database initially stores 200 GB of data.
  • Size of Added Data — 10,000 records of 2 KB each are added to the Salesforce database daily (that is, 10,000 * 2 KB / 1024 = 0.02 GB).
  • Planned Period of Data Backup — data is planned to be backed up daily for a period of 5 years (that is, 5 *365 days = 1825 days).
  • Size of Changed Data — 10,000 records of 2 KB each are changed in the Salesforce each backup cycle (that is, 10,000 * 2 KB / 1024 = 0.02 GB).
  • Number of Backups Within Your Retention Period — backup is performed every hour (that is, 24 backups per day) while the retention period is set to 180 days.

In this case, the amount of the disk space required for the PostgreSQL server will be calculated as follows: (200 GB * 1.6) + (0.02 GB * 1825) + (0.02 GB * 24 * 180) = 320 GB + 36.5 GB + 86.4 GB = 443 GB.

PostgreSQL Configuration Settings

Consider adjusting the default settings in the postgresql.conf configuration file as follows:

Parameter

Value

max_connections

300 or more*

superuser_reserved_connections

7

shared_buffers

20% of RAM

random_page_cost

1.1

work_mem

15% of RAM

maintenance_work_mem

128 MB

max_wal_size

3 GB

min_wal_size

2 GB

checkpoint_completion_target

0.9

effective_io_concurrency

200

effective_cache_size

60% of RAM

*Veeam Backup for Salesforce requires about 20 connections to one PostgreSQL database for management operations, about 50 connections per one backup policy and 10 connections per one custom backup schedule. To avoid performance issues, it is recommended that you set the maximum allowed number of connections to 300 in the PostgeSQL database configuration. You may need to adjust this number later based on the number of created backup policies and schedules.