PD_ALL_VISIBLE flag set - autovacuum ignoring dead tuples

Поиск
Список
Период
Сортировка
От Tom Lanyon
Тема PD_ALL_VISIBLE flag set - autovacuum ignoring dead tuples
Дата
Msg-id FFACCBE3-2D6F-4C90-B3D0-B1A2ACD85BA5@oneshoeco.com
обсуждение исходный текст
Ответы Re: PD_ALL_VISIBLE flag set - autovacuum ignoring dead tuples  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-admin
I'm seeing a heavy-update TOAST table which is not being effectively autovacuum'd on 8.4.5.  The stats collector shows
n_dead_tupgrowing very quickly, and autovacuum runs frequently, but never removes any dead tuples.  A manual vacuum
doesfind many dead tuples (90+ % of the table) to remove, and removes them properly. 

Whilst debugging, I found that there seems to be a large amount of the old 'PD_ALL_VISIBLE incorrectly set...' warnings
emittedduring the autovacuum run. 

My immediate assumption was that PD_ALL_VISIBLE is set on the page, and so autovacuum skips it.  However, from what I
cansee in lazy_scan_heap(), all of the clean-up actually happens before we even check the PD_ALL_VISIBLE flag and emit
thiswarning.  Can anyone confirm that this is a warning message only, and shouldn't actually cause autovacuum to skip
pruningdead tuples? 

Am I seeing two different or related issues here?

Thanks,
Tom


p.s. I'm aware there was a change to PD_ALL_VISIBLE in 8.4.8 but that was to stop warning on a non-issue, so I don't
believeit's the same. 


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

Предыдущее
От: Gustav Redin
Дата:
Сообщение: migration wizard faild
Следующее
От: "Bradley Holbrook, Servillian Technology"
Дата:
Сообщение: Dump SQL DDL of all functions in DB