4.1. Prerequisite PostgreSQL parameters

BDR require certain PostgreSQL settings to be set to appropriate values.

max_worker_processes (integer)

For BDR 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 BDR 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 BDR 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.

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

shared_preload_libraries (string)

For BDR this parameter has 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.

wal_level (enum)

For BDR 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.