RE: BUG #15067: Documentation or behaviour bug with autovacuumthresholds?

Поиск
Список
Период
Сортировка
От Greg Clough
Тема RE: BUG #15067: Documentation or behaviour bug with autovacuumthresholds?
Дата
Msg-id MWHPR03MB31332A4E081B486BF4334277F7C60@MWHPR03MB3133.namprd03.prod.outlook.com
обсуждение исходный текст
Ответ на Re: BUG #15067: Documentation or behaviour bug with autovacuum thresholds?  (Euler Taveira <euler@timbira.com.br>)
Ответы Re: BUG #15067: Documentation or behaviour bug with autovacuumthresholds?  (Jim Nasby <jim.nasby@openscg.com>)
Список pgsql-bugs
> > I think there is a documentation bug in the Autovacuum section:
> No, there isn't.
> "exceed" means "greater than". Hence, documentation is accurate.
> > I think there is a documentation bug in the Autovacuum section:
> No, there isn't.
> "exceed" means "greater than". Hence, documentation is accurate.

Hi Euler,

I had considered that, but if you do *exactly* the same number of updates as the threshold... wait... and then do a
singleupdate, it vacuums a single row, not threshold+1.  In my example:
 

1) autovacuum_vacuum_scale_factor = 0
2) autovacuum_vacuum_threshold = 500
3) Update 500 rows of a 1,000 row table
4) Wait 30 seconds
5) Update 1 row
6) NOTE:  "tuples: 1 removed" in the postgres.log, not "tuples: 501 removed".

< 2018-02-14 15:20:08.512 GMT > LOG:  automatic vacuum of table "postgres.public.autovacuum_threshold_test": index
scans:0
 
    pages: 0 removed, 7 remain, 0 skipped due to pins, 0 skipped frozen
    tuples: 1 removed, 1000 remain, 0 are dead but not yet removable


There are two potential issues with that:

1) The autovacuum_vacuum_threshold is 500, so it should never vacuum anything less... especially not a single tuple.
   (Is that a bug in autovacuum, triggering on less than the threshold?)

2) Nowhere does it ever mention "tuples: 500 removed", so what happened to the originally updated 500 tuples?
   - Did they get vacuumed silently?
     (Is that a bug in autovacuum, where it doesn't report correctly?)
   - Did they skip being vacuumed?
     (Are these rows being lost forever, adding to bloat?)


In short, what happened to the initial autovacuum_vacuum_threshold (500) updates, and why did autovacuum run on a
singlerow?
 

Cheers,
Greg.

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

Предыдущее
От: Praveen Kumar
Дата:
Сообщение: Re: How to avoid trailing zero (after decimal point) for numeric type column
Следующее
От: naidu rongali
Дата:
Сообщение: TO_DATE Function unintended behavior when month value is greater than 12