Re: Need help understanding vacuum verbose output

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Brad Nicholson <bnichols(at)ca(dot)afilias(dot)info>, pgsql-general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Need help understanding vacuum verbose output
Date: 2010-08-06 16:35:59
Message-ID: 5178.1281112559@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Excerpts from Brad Nicholson's message of vie ago 06 12:01:27 -0400 2010:
>> It found 45878 dead tuples in 396 pages for the index authors_archive_pkey.
>> It found 16558 dead tuples in 492 pages for the table authors_archive.

> But why did it choose to skip the rest of the pages in authors_archive,
> if there certainly are a lot of vacuumable tuples in (some of) them?

I think the discrepancy is probably explained here:

/*
* DEAD item pointers are to be vacuumed normally; but we don't
* count them in tups_vacuumed, else we'd be double-counting (at
* least in the common case where heap_page_prune() just freed up
* a non-HOT tuple).
*/

That last message prints tups_vacuumed, but those other ones are counting
all the removed item pointers. So apparently Gordon had a whole lot of
pre-existing DEAD item pointers. I wonder why ...

regards, tom lane

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Denis BUCHER 2010-08-06 16:49:38 Unable to stop postgresql ("failed") -> [SOLVED]
Previous Message Gordon Shannon 2010-08-06 16:17:46 Re: Need help understanding vacuum verbose output