Re: pgsql: Improve autovacuum logging for aggressive andanti-wraparound ru

Поиск
Список
Период
Сортировка
От Nasby, Jim
Тема Re: pgsql: Improve autovacuum logging for aggressive andanti-wraparound ru
Дата
Msg-id 0A11E30F-DDDE-422F-B22A-3F6E3AA7A0A2@amazon.com
обсуждение исходный текст
Ответ на Re: pgsql: Improve autovacuum logging for aggressive andanti-wraparound ru  (Andres Freund <andres@anarazel.de>)
Ответы Re: pgsql: Improve autovacuum logging for aggressive andanti-wraparound ru  (Andres Freund <andres@anarazel.de>)
Re: pgsql: Improve autovacuum logging for aggressive and anti-wraparound ru  (Sergei Kornilov <sk@zsrv.org>)
Список pgsql-hackers
> On Sep 21, 2018, at 12:43 PM, Andres Freund <andres@anarazel.de> wrote:
> 
>> But as far i can see it is possible have aggressive non-wraparound vacuum. One important difference - regular and
aggressiveregular can be canceled by backend,.wraparound autovacuum can not. (by checking PROC_VACUUM_FOR_WRAPAROUND in
src/backend/storage/lmgr/proc.c)
 
> 
> Yes, without checking the code, they should be different. Aggressive is
> controlled by vacuum_freeze_table_age whereas anti-wrap is controlled by
> autovacuum_freeze_max_age (but also implies aggressive).

Right, except that by the time you get into the vacuum code itself nothing should really care about that difference.
AFAICT,the only thing is_wraparound is being used for is to set MyPgXact->vacuumFlags |= PROC_VACUUM_FOR_WRAPAROUND,
whichprevents the deadlock detector from killing an autovac process that’s trying to prevent a wraparound. I think it’d
beclearer to remove is_wraparound and move the check from vacuum_rel() into lazy_vacuum_rel() (which is where the
limitsfor HeapTupleSatisfiesVacuum get determined). Something like the attached. 
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: Query is over 2x slower with jit=on
Следующее
От: Andres Freund
Дата:
Сообщение: Re: pgsql: Improve autovacuum logging for aggressive andanti-wraparound ru