Re: New vacuum option to do only freezing
| От | Tom Lane |
|---|---|
| Тема | Re: New vacuum option to do only freezing |
| Дата | |
| Msg-id | 7519.1555444815@sss.pgh.pa.us обсуждение исходный текст |
| Ответ на | Re: New vacuum option to do only freezing (Tom Lane <tgl@sss.pgh.pa.us>) |
| Ответы |
Re: New vacuum option to do only freezing
Re: New vacuum option to do only freezing |
| Список | pgsql-hackers |
I wrote:
> I'm thinking that we really need to upgrade vacuum's reporting totals
> so that it accounts in some more-honest way for pre-existing dead
> line pointers. The patch as it stands has made the reporting even more
> confusing, rather than less so.
Here's a couple of ideas about that:
1. Ignore heap_page_prune's activity altogether, on the grounds that
it's just random chance that any cleanup done there was done during
VACUUM and not some preceding DML operation. Make tups_vacuumed
be the count of dead line pointers removed. The advantage of this
way is that tups_vacuumed would become independent of previous
non-VACUUM pruning activity, as well as preceding index-cleanup-disabled
VACUUMs. But maybe it's hiding too much information.
2. Have heap_page_prune count, and add to tups_vacuumed, only HOT
tuples that it deleted entirely. The action of replacing a DEAD
root tuple with a dead line pointer doesn't count for anything.
Then also add the count of dead line pointers removed to tups_vacuumed.
Approach #2 is closer to the way we've defined tups_vacuumed up to
now, but I think it'd be more realistic in cases where previous
pruning or index-cleanup-disabled vacuums have left lots of dead
line pointers.
I'm not especially wedded to either of these --- any other ideas?
regards, tom lane
В списке pgsql-hackers по дате отправления: