Type: | integer |
Default: | -1 (-1) |
Min: | -1 (-1) |
Max: | 2147483647 (2147483647MB) |
Unit: | MB |
Context: | sighup |
Restart: | false |
Since: | 13 |
Specify the maximum size of WAL files that replication slots are allowed to retain in the pg_wal directory at checkpoint time. If max_slot_wal_keep_size
is -1 (the default), replication slots may retain an unlimited amount of WAL files. Otherwise, if restart_lsn of a replication slot falls behind the current LSN by more than the given size, the standby using the slot may no longer be able to continue replication due to removal of required WAL files. You can see the WAL availability of replication slots in pg_replication_slots. If this value is specified without units, it is taken as megabytes. This parameter can only be set in the postgresql.conf file or on the server command line.
On StackOverflow
On pgsql-hackers
- RE: incorrect wal removal due to max_slot_wal_keep_size
- Introduce XID age and inactive timeout based replication slot invalidation
- logical replication: restart_lsn can go backwards (and more), seems broken since 9.4
- Re: Synchronizing slots from primary to standby
- Re: Why are wal_keep_size, max_slot_wal_keep_size requiring server restart?