Hope nobody minds me chipping in here.
The answer is "not necessarily." The names make them seem closely related, but not so much.
max_wal_size is all about checkpoints. When the WAL exceeds this, Postgres will try to run a checkpoint. Under some circumstances it won't, but let's keep it simple for now.
wal_keep_size is all about replication. Replicas need WAL files to stick around for long enough that they can process them. wal_keep_size is a minimum figure.
Tom
On Monday, October 6, 2025 at 03:51:17 PM EDT, Raj <rajeshkumar.dba09@gmail.com> wrote:
Should Wal_keep_size <= max_wal_size ?