Re: Meaning of vacuum output

From: "Jeffrey W(dot) Baker" <jwbaker(at)acm(dot)org>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Postgres general mailing list <pgsql-general(at)postgresql(dot)org>
Subject: Re: Meaning of vacuum output
Date: 2002-01-16 18:18:53
Message-ID: 1011205133.16847.24.camel@heat
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Wed, 2002-01-16 at 10:08, Tom Lane wrote:
> "Jeffrey W. Baker" <jwbaker(at)acm(dot)org> writes:
> > rupert=# vacuum verbose resp_header;
> > NOTICE: --Relation resp_header--
> > NOTICE: Pages 28276: Changed 4, Empty 0; Tup 2437108: Vac 0, Keep
> > 2295773, UnUsed 96275.
> > Total CPU 1.79s/0.38u sec elapsed 2.72 sec.
> > VACUUM
> > rupert=# select count(*) from resp_header;
> > count
> > --------
> > 141357
> > (1 row)
>
> > There's nowhere near 2.437e6 tuples in the table, but the difference
> > between Tup and Keep seems to be the number of tuples in the table. But
> > what does this mean? Are there 2.295e6 deleted tuples hanging around in
> > the table?
>
> Kinda looks that way. Do you have open transactions hanging around that
> might still be able to see those tuples?

I shut down all connections, and vacuum has a different output:

NOTICE: Pages 33639: Changed 226, Empty 0; Tup 128819: Vac 2840812,
Keep 0, UnUsed 96275.
Total CPU 14.29s/28.69u sec elapsed 233.02 sec.

So I conclude from these two data points that Keep means tuples that are
still visible to a transaction, Vac means tuples that are not visible to
any transaction. But, what is UnUsed?

-jwb

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2002-01-16 18:27:29 Re: Meaning of vacuum output
Previous Message Tom Lane 2002-01-16 18:17:18 Re: Meaning of vacuum output