# Replication

> Complete dossiers for 33 core PostgreSQL settings in Replication.
---

Dossier URLs remain flat; this category exists only to organize browsing and the sidebar.

---

Section pages:

- [hot_standby](/parameters/hot-standby/): hot_standby — Allows connections and queries during recovery. Observed in PG9.0–19 Beta 3; its last measured boot default is on in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [hot_standby_feedback](/parameters/hot-standby-feedback/): hot_standby_feedback — Allows feedback from a hot standby to the primary that will avoid query conflicts. Observed in PG9.1–19 Beta 3; its last measured boot default is off in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [idle_replication_slot_timeout](/parameters/idle-replication-slot-timeout/): idle_replication_slot_timeout — Sets the duration a replication slot can remain idle before it is invalidated. Observed in PG18–19 Beta 3; its last measured boot default is 0 s in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_active_replication_origins](/parameters/max-active-replication-origins/): max_active_replication_origins — Sets the maximum number of active replication origins. Observed in PG18–19 Beta 3; its last measured boot default is 10 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_logical_replication_workers](/parameters/max-logical-replication-workers/): max_logical_replication_workers — Maximum number of logical replication worker processes. Observed in PG10–19 Beta 3; its last measured boot default is 4 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_parallel_apply_workers_per_subscription](/parameters/max-parallel-apply-workers-per-subscription/): max_parallel_apply_workers_per_subscription sets the maximum number of parallel apply workers per subscription. It is a sighup setting present in PG16–18; the latest recorded boot default is 2.
- [max_repack_replication_slots](/parameters/max-repack-replication-slots/): max_repack_replication_slots — Sets the maximum number of replication slots for use by REPACK. Observed in PG19 Beta 3; its last measured boot default is 5 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_replication_slots](/parameters/max-replication-slots/): max_replication_slots — Sets the maximum number of simultaneously defined replication slots. Observed in PG9.4–19 Beta 3; its last measured boot default is 10 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_slot_wal_keep_size](/parameters/max-slot-wal-keep-size/): A reloadable checkpoint-time limit on how much WAL replication slots may retain. It appears from PG13 in this catalog, defaults to -1 (unlimited), and Pigsty applies a finite disk-relative cap.
- [max_standby_archive_delay](/parameters/max-standby-archive-delay/): max_standby_archive_delay — Sets the maximum delay before canceling queries when a hot standby server is processing archived WAL data. Observed in PG9.0–19 Beta 3; its last measured boot default is 30 s in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_standby_streaming_delay](/parameters/max-standby-streaming-delay/): max_standby_streaming_delay — Sets the maximum delay before canceling queries when a hot standby server is processing streamed WAL data. Observed in PG9.0–19 Beta 3; its last measured boot default is 30 s in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_sync_workers_per_subscription](/parameters/max-sync-workers-per-subscription/): max_sync_workers_per_subscription — Maximum number of workers per subscription for synchronizing tables and sequences. Observed in PG10–19 Beta 3; its last measured boot default is 2 in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [max_wal_senders](/parameters/max-wal-senders/): max_wal_senders — Sets the maximum number of simultaneously running WAL sender processes. Observed in PG9.0–19 Beta 3; its last measured boot default is 10 in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [output_plugin_libraries](/parameters/output-plugin-libraries/): output_plugin_libraries lists libraries that may be named as logical decoding output plugins. It is a superuser setting present in PG14–18; the latest recorded boot default is pgoutput, test_decoding.
- [primary_conninfo](/parameters/primary-conninfo/): primary_conninfo sets the connection string to be used to connect to the sending server. It is a sighup setting present in PG12–18; the latest recorded boot default is empty.
- [primary_slot_name](/parameters/primary-slot-name/): primary_slot_name sets the name of the replication slot to use on the sending server. It is a sighup setting present in PG12–18; the latest recorded boot default is empty.
- [promote_trigger_file](/parameters/promote-trigger-file/): promote_trigger_file specifies a file name whose presence ends recovery in the standby. It appears in the PG12–15 evidence matrix and was removed in PG16. PostgreSQL 16 removed the trigger-file mechanism; use pg_ctl promote or pg_promote() through the HA controller.
- [recovery_min_apply_delay](/parameters/recovery-min-apply-delay/): recovery_min_apply_delay sets the minimum delay for applying changes during recovery. It is a sighup setting present in PG12–18; the latest recorded boot default is 0 ms.
- [replication_timeout](/parameters/replication-timeout/): replication_timeout — Sets the maximum time to wait for WAL replication. Observed in PG9.1–9.2; its last measured boot default is 1 min in PG9.2, with sighup context. It was removed in PG9.3.
- [sync_replication_slots](/parameters/sync-replication-slots/): sync_replication_slots enables a physical standby to synchronize logical failover replication slots from the primary server. It is a sighup setting present in PG17–18; the latest recorded boot default is off.
- [synchronized_standby_slots](/parameters/synchronized-standby-slots/): synchronized_standby_slots lists streaming replication standby server replication slot names that logical WAL sender processes will wait for. It is a sighup setting present in PG17–18; the latest recorded boot default is empty.
- [synchronous_standby_names](/parameters/synchronous-standby-names/): synchronous_standby_names — Number of synchronous standbys and list of names of potential synchronous ones. Observed in PG9.1–19 Beta 3; its last measured boot default is empty string in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [track_commit_timestamp](/parameters/track-commit-timestamp/): track_commit_timestamp — Collects transaction commit time. Observed in PG9.5–19 Beta 3; its last measured boot default is off in PG19 Beta 3, with postmaster context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [vacuum_defer_cleanup_age](/parameters/vacuum-defer-cleanup-age/): vacuum_defer_cleanup_age — Number of transactions by which VACUUM and HOT cleanup should be deferred, if any. Observed in PG9.0–15; its last measured boot default is 0 in PG15, with sighup context. It was removed in PG16.
- [wal_keep_segments](/parameters/wal-keep-segments/): wal_keep_segments — Sets the number of WAL files held for standby servers. Observed in PG9.0–12; its last measured boot default is 0 in PG12, with sighup context. It was removed in PG13.
- [wal_keep_size](/parameters/wal-keep-size/): A reloadable minimum amount of old WAL retained for streaming standbys that might fall behind. It is present from PG13 in this catalog, defaults to 0 MB, and is unmodified by all Pigsty templates.
- [wal_receiver_create_temp_slot](/parameters/wal-receiver-create-temp-slot/): wal_receiver_create_temp_slot sets whether a WAL receiver should create a temporary replication slot if no permanent slot is configured. It is a sighup setting present in PG13–18; the latest recorded boot default is off.
- [wal_receiver_status_interval](/parameters/wal-receiver-status-interval/): wal_receiver_status_interval — Sets the maximum interval between WAL receiver status reports to the sending server. Observed in PG9.1–19 Beta 3; its last measured boot default is 10 s in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [wal_receiver_timeout](/parameters/wal-receiver-timeout/): wal_receiver_timeout — Sets the maximum wait time to receive data from the sending server. Observed in PG9.3–19 Beta 3; its last measured boot default is 1 min in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [wal_retrieve_retry_interval](/parameters/wal-retrieve-retry-interval/): wal_retrieve_retry_interval — Sets the time to wait before retrying to retrieve WAL after a failed attempt. Observed in PG9.5–19 Beta 3; its last measured boot default is 5 s in PG19 Beta 3, with sighup context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [wal_sender_delay](/parameters/wal-sender-delay/): wal_sender_delay — WAL sender sleep time between WAL replications. Observed in PG9.0–9.1; its last measured boot default is 1 s in PG9.1, with sighup context. It was removed in PG9.2.
- [wal_sender_shutdown_timeout](/parameters/wal-sender-shutdown-timeout/): wal_sender_shutdown_timeout — Sets the maximum time the server waits during shutdown for all WAL data to be replicated to the receiver. Observed in PG19 Beta 3; its last measured boot default is -1 ms in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
- [wal_sender_timeout](/parameters/wal-sender-timeout/): wal_sender_timeout — Sets the maximum time to wait for WAL replication. Observed in PG9.3–19 Beta 3; its last measured boot default is 1 min in PG19 Beta 3, with user context. This is a beta-snapshot fact and can change before PostgreSQL 19 GA.
