Re: Obtaining the exact size of the database.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Dave Crooke <dcrooke(at)gmail(dot)com>
Cc: venu madhav <venutaurus539(at)gmail(dot)com>, pgsql-performance(at)postgresql(dot)org
Subject: Re: Obtaining the exact size of the database.
Date: 2010-06-20 15:34:41
Message-ID: 25289.1277048081@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Dave Crooke <dcrooke(at)gmail(dot)com> writes:
> 4. If you're trying to figure out the net size of the table, i.e. how much
> free space is inside the table files for reuse by PG, then you need the
> pg_stat_tuple function ... this is built in to PG 8.4, and a plug-in
> activated by a script for PG 8.3, don't know if it exists in 8.1 or not.
> Like SELECT COUNT(*) this requires a full table scan.

I think what the OP actually wants is the number of live rows, so plain
old SELECT COUNT(*) would do it. If that's too slow, a good alternative
is to ANALYZE the table and then look at its pg_class.reltuples entry
--- of course that will only be an approximate count.

regards, tom lane

In response to

Browse pgsql-performance by date

  From Date Subject
Next Message Jesper Krogh 2010-06-20 17:44:29 Aggressive autovacuuming ?
Previous Message Tom Lane 2010-06-20 15:21:07 Re: Slow function in queries SELECT clause.