This page in other versions: 0.9 / 1.0 / 1.0.3

4.1. Prerequisite postgres parameters

BDR and UDR require a couple of postgres settings to be set to specific values.

max_worker_processes (integer)

For both BDR and UDR this has to be set to a big enough value to have one worker per configured database, and one worker per connection.

For more detailed information about this parameter consult the PostgreSQL documentation.

max_replication_slots (integer)

For both BDR and UDR this needs to be set big enough so that every connection to this node has a free replication slot.

For more detailed information about this parameter consult the PostgreSQL documentation.

max_wal_senders (integer)

For both BDR and UDR this needs to be set big enough so that every connection to this node has a free wal sender process.

If a node also does streaming base backups and/or base backups using pg_basebackup, the value needs to be big enough to accomodate both that and BDR/UDR.

For more detailed information about this parameter consult the PostgreSQL documentation.

shared_preload_libraries (string)

For both BDR and UDR this parameter has to to include bdr as one of the comma separated values. The parameter can only be changed at server start.

For more detailed information about this parameter consult the PostgreSQL documentation.

track_commit_timestamp (bool)

To use BDR this parameter has to be set to true, it can be false for UDR

wal_level (enum)

For both BDR and UDR this parameter has to be set to logical.

For more detailed information about this parameter consult the PostgreSQL documentation.

default_sequenceam (string)

Only present in BDR. Controls the type of sequence created by unqualified CREATE SEQUENCE commands and by SERIAL and BIGSERIAL. See Global sequences. May be set per-session with SET.