At Tue, 31 Jul 2018 12:24:13 -0700, Andres Freund <and...@anarazel.de> wrote in <20180731192413.7lr4qbc4qbyoi...@alap3.anarazel.de> > On 2018-07-31 15:21:27 -0400, Stephen Frost wrote: > > Greetings, > > > > * Andres Freund (and...@anarazel.de) wrote: > > > On 2018-07-31 15:11:52 -0400, Bruce Momjian wrote: > > > > On Tue, Jun 26, 2018 at 04:26:59PM +0900, Kyotaro HORIGUCHI wrote: > > > > > Hello. This is the reabased version of slot-limit feature. > > > > > > > > > > This patch limits maximum WAL segments to be kept by replication > > > > > slots. Replication slot is useful to avoid desync with replicas > > > > > after temporary disconnection but it is dangerous when some of > > > > > replicas are lost. The WAL space can be exhausted and server can > > > > > PANIC in the worst case. This can prevent the worst case having a > > > > > benefit from replication slots using a new GUC variable > > > > > max_slot_wal_keep_size. > > > > > > > > Have you considered just using a boolean to control if max_wal_size > > > > honors WAL preserved by replication slots, rather than creating the new > > > > GUC max_slot_wal_keep_size? > > > > > > That seems like a bad idea. max_wal_size influences checkpoint > > > scheduling - there's no good reason to conflate that with retention? > > > > I agree that we shouldn't conflate checkpointing and retention. What I > > wonder about though is what value will wal_keep_segments have once this > > new GUC exists..? I wonder if we could deprecate it... > > Don't think that's a good idea. It's entirely conceivable to have a > wal_keep_segments much lower than max_slot_wal_keep_size. For some > throwaway things it can be annoying to have to slots, and if you remove > wal_keep_segments there's no alternative.
I thought it's to be deprecated for some reason so I'm leaving wal_keep_segments in '# of segments' even though the new GUC is in MB. I'm a bit uneasy that the two similar settings are in different units. Couldn't we turn it into MB taking this opportunity if we will keep wal_keep_segments, changing its name to min_wal_keep_size? max_slot_wal_keep_size could be changed to just max_wal_keep_size along with it. regards. -- Kyotaro Horiguchi NTT Open Source Software Center