Re: Problems with database bloat

From: "Jim C(dot) Nasby" <jnasby(at)pervasive(dot)com>
To: Alex Turner <armtuk(at)gmail(dot)com>
Cc: pgsql general <pgsql-general(at)postgresql(dot)org>
Subject: Re: Problems with database bloat
Date: 2006-06-08 22:59:30
Message-ID: 20060608225930.GJ45331@pervasive.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Thu, Jun 08, 2006 at 06:03:23PM -0400, Alex Turner wrote:
> I hope I'm reading this query wrong:
>
> trend=# select relname, relpages*8192/reltuples from pg_class where
> reltuples>0 order by relpages desc limit 10;
> relname | ?column?
> -------------------------------+------------------
> property | 19935.4468376195
> result_entry_pkey | 1611.15654062026
> result_entry | 1417.71707157196
> person | 7107.41684585612
> property_feature_pkey | 98.7810833557521
> property_feature | 60.2035684051268
> person_name_i | 3358.93641334398
> property_price_i | 1978.89907374882
> property_mls_listing_number_i | 1923.61833274788
> property_spatial | 1784.73493686332
> (10 rows)
>
> If I have this query right in my head, this means that the average tuple in
> the property relation is taking up 19k? and the average tuple in the
> result_entry_pkey index is take 1.5k?!
>
> Is there a way I can get the database to coalesce free space? A vacuum
> verbose shows that I have enough entries in the free space map...

A lazy vacuum won't reclaim empty space, only a VACUUM FULL will.

If that drops the size of the relations substantially, you'll probably
want to REINDEX everything to reclaim lost space in the indexes as well.
--
Jim C. Nasby, Sr. Engineering Consultant jnasby(at)pervasive(dot)com
Pervasive Software http://pervasive.com work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Alex Turner 2006-06-08 23:14:01 Re: Problems with database bloat
Previous Message pobox@verysmall.org 2006-06-08 22:57:06 Re: php 5.1.4 with PostgreSQL 8.1.4 causes Apache 1.3.36