Thread: Table Size

Table Size

From
"Gauri Kanekar"
Date:
Hi,

Can anybody help me out to get following info of all the tables in a database.
 
table_len
tuple_count
tuple_len
tuple_percent
dead_tuple_count
dead_tuple_len
dead_tuple_percent
free_space
free_percent
 
Thanks 
Gauri

Re: Table Size

From
Richard Huxton
Date:
Gauri Kanekar wrote:
> Hi,
>
> Can anybody help me out to get following info of all the tables in a
> database.

1. Have you read up on the information schema and system catalogues?
http://www.postgresql.org/docs/8.2/static/catalogs.html
http://www.postgresql.org/docs/8.2/static/catalogs.html


> table_len
> tuple_count
> tuple_len

2. Not sure what the difference is between "len" and "count" here.

> tuple_percent

3. Or what this "percent" refers to.

> dead_tuple_count
> dead_tuple_len
> dead_tuple_percent
> free_space
> free_percent

4. You might find some of the stats tables useful too:
http://www.postgresql.org/docs/8.2/static/monitoring-stats.html

--
   Richard Huxton
   Archonet Ltd

Re: Table Size

From
Guillaume Lelarge
Date:
Richard Huxton a écrit :
> Gauri Kanekar wrote:
>> Hi,
>>
>> Can anybody help me out to get following info of all the tables in a
>> database.
>
> 1. Have you read up on the information schema and system catalogues?
> http://www.postgresql.org/docs/8.2/static/catalogs.html
> http://www.postgresql.org/docs/8.2/static/catalogs.html
>
>
>> table_len
>> tuple_count
>> tuple_len
>
> 2. Not sure what the difference is between "len" and "count" here.
>

tuple_count is the number of live tuples. tuple_len is the length (in
bytes) for all live tuples.

>> tuple_percent
>
> 3. Or what this "percent" refers to.
>

tuple_percent is % of live tuple from all tuples in a table.

>> dead_tuple_count
>> dead_tuple_len
>> dead_tuple_percent
>> free_space
>> free_percent
>
> 4. You might find some of the stats tables useful too:
> http://www.postgresql.org/docs/8.2/static/monitoring-stats.html
>

Actually, these columns refer to the pgstattuple contrib module. This
contrib module must be installed on the server (how you install it
depends on your distro). Then, you have to create the functions on you
database :
  psql -f /path/to/pgstattuple.sql your_database

Right after that, you can query these columns :

test=> \x
Expanded display is on.
test=> SELECT * FROM pgstattuple('pg_catalog.pg_proc');
-[ RECORD 1 ]------+-------
table_len          | 458752
tuple_count        | 1470
tuple_len          | 438896
tuple_percent      | 95.67
dead_tuple_count   | 11
dead_tuple_len     | 3157
dead_tuple_percent | 0.69
free_space         | 8932
free_percent       | 1.95

Example from README.pgstattuple.

Regards.


--
Guillaume.
<!-- http://abs.traduc.org/
     http://lfs.traduc.org/
     http://docs.postgresqlfr.org/ -->