Configuration parameter

wal_receiver_create_temp_slot — PostgreSQL configuration parameter

Category Replication Default off Change scope Sighup

Specifies whether the WAL receiver process should create a temporary replication slot on the remote instance when no permanent replication slot to use has been configured (using primary_slot_name).

At a glance

Property Value
Parameter wal_receiver_create_temp_slot
Category Replication
Default off
Value type boolean (on/off)
Change scope Reload (postgresql.conf, SIGHUP)
Available in PostgreSQL 13, 14, 15, 16, 17, 18, 19 (added in 13)

What it does

Specifies whether the WAL receiver process should create a temporary replication slot on the remote instance when no permanent replication slot to use has been configured (using primary_slot_name). The default is off. This parameter can only be set in the postgresql.conf file or on the server command line. If this parameter is changed while the WAL receiver process is running, that process is signaled to shut down and expected to restart with the new setting.

(Description quoted from the official PostgreSQL documentation.)

How to apply a change

Set it in postgresql.conf (or with ALTER SYSTEM) and reload with SELECT pg_reload_conf(); or pg_ctl reload — no restart needed.

Inspect the current value and source with SHOW wal_receiver_create_temp_slot; or SELECT name, setting, unit, context, source FROM pg_settings WHERE name = 'wal_receiver_create_temp_slot';.

Tuning guidance

This parameter is rarely a performance lever. Leave it at the default unless you have a specific, documented reason to change it, change it on one session or one role/database first, and confirm the effect with pg_settings and your own measurements before rolling it out cluster-wide.

Reference

PostgreSQL documentation — wal_receiver_create_temp_slot.

Keep going

Related & next steps

Concepts on this page

Was this helpful?

← All configuration parameters