Logical replication requires several configuration options to be set. These options are relevant only on one side of the replication.
wal_level must be set to logical.
max_replication_slots must be set to at least the number of subscriptions expected to connect, plus some reserve for table synchronization.
Logical replication slots are also affected by idle_replication_slot_timeout.
max_wal_senders should be set to at least the same as max_replication_slots, plus the number of physical replicas that are connected at the same time.
Logical replication walsender is also affected by wal_sender_timeout.
max_active_replication_origins must be set to at least the number of subscriptions that will be added to the subscriber, plus some reserve for table synchronization.
max_logical_replication_workers must be set to at least the number of subscriptions (for leader apply workers), plus some reserve for the table synchronization workers and parallel apply workers.
max_worker_processes may need to be adjusted to accommodate for replication workers, at least (max_logical_replication_workers + 1). Note, some extensions and parallel queries also take worker slots from max_worker_processes.
max_sync_workers_per_subscription controls the amount of parallelism of the initial data copy during the subscription initialization or when new tables are added.
max_parallel_apply_workers_per_subscription controls the amount of parallelism for streaming of in-progress transactions with subscription parameter streaming = parallel.
Logical replication workers are also affected by wal_receiver_timeout, wal_receiver_status_interval and wal_retrieve_retry_interval.
If you see anything in the documentation that is not correct, does not match your experience with the particular feature or requires further clarification, please use this form to report a documentation issue.