On Tue, Oct 2, 2018 at 9:11 AM Michael Paquier <mich...@paquier.xyz> wrote: > > On Fri, Sep 28, 2018 at 01:53:14PM +0900, Masahiko Sawada wrote: > > I agree. Can we fix this simply by the attached patch? > > Thanks for sending a patch. > > + /* autovacuum cannot be anti-wraparound and not aggressive vacuum */ > + Assert(aggressive); > + msgfmt = _("automatic aggressive vacuum to prevent wraparound of table > \"%s.%s.%s\": index scans: %d\n"); > > While adding this comment in lazy_vacuum_rel() is adapted, I think that > we ought to make the assertion check more aggressive by not having it > depend on if log_min_duration is set or not. So why not moving that to > a place a bit higher, where aggressive gets defined?
Since there is no place where checks params->is_wraparound we will have to do something like; if (params->is_wraparound) Assert(aggressive); Or you meant the following? Assert(params->is_wraparound ? aggressive : true); I'm not sure both styles would be appropriate style in the postgres code so I would rather add elog(ERROR) instead. Thought? Regards, -- Masahiko Sawada NIPPON TELEGRAPH AND TELEPHONE CORPORATION NTT Open Source Software Center