Need to determine how badly tables need vacuuming - Mailing list pgsql-general

From Marc Munro
Subject Need to determine how badly tables need vacuuming
Date
Msg-id 1115853131.11144.121.camel@bloodnok.com
Whole thread Raw
Responses Re: Need to determine how badly tables need vacuuming  (elein@varlena.com (elein))
Re: Need to determine how badly tables need vacuuming  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
On a 7.3 production system with limited downtime available, we can
rarely take the time to run vaccuum full.  From time to time though,
performance of some of the tables becomes an issue and we have to
perform a full vaccum on those tables.

We'd like to be able to better plan these operations, so:

Is there a query that will return an estimated row count as well as an
estimated unused tuple count for each table?  Right now we're figuring
this stuff out by manually by reading the vacuum report.  It'd be nice
to have a query on hand that returns a list of tables with more than 30%
unused and more than 100k rows unused.

I envision these columns being returned:

table_name, %unused, tuples, unused_tuples, MB_of_disk

It looks like the estimated row count can be found in pg_class.  I can
figure out the size on disk by looking at the physical files.  But how
can I figure out the number of dead tuples without actually doing a
vacuum?

Thanks.

__
Marc Munro


Attachment

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: [ADMIN] Storing database in WORM devices
Next
From: elein@varlena.com (elein)
Date:
Subject: Re: Need to determine how badly tables need vacuuming