Re: Unreasonable size of table pg 8.2.5

From: Bill Moran <wmoran(at)potentialtech(dot)com>
To: Henrik <henke(at)mac(dot)se>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Unreasonable size of table pg 8.2.5
Date: 2007-12-06 14:25:58
Message-ID: 20071206092558.d12554a1.wmoran@potentialtech.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Henrik <henke(at)mac(dot)se> wrote:
>
> Hello list,
>
> I have a table with 135 rows and it still takes up about 360MB with
> only small columns. Details below.
>
> db=# vacuum full tbl_archive;
> VACUUM
> db=# select * from
> pg_size_pretty(pg_total_relation_size('tbl_archive'));
> pg_size_pretty
> ----------------
> 360 MB
> (1 row)
>
> db=# select * from pg_size_pretty(pg_relation_size('tbl_archive'));
> pg_size_pretty
> ----------------
> 16 kB
> (1 row)
>
>
> Looks like we have a very bloated index.
> After reindex
> db=# select * from
> pg_size_pretty(pg_total_relation_size('tbl_archive'));
> pg_size_pretty
> ----------------
> 80 kB
> (1 row)
>
> I thought that reindex should not be necessary in 8.2.5?

VACUUM FULL tends to bloat indexes, which is one of the reasons that it's
not recommended for regular maintenance.

Use plain VACUUM instead. If you feel the need to run a VACUUM FULL, always
do a REINDEX afterward.

Even still, there are apparently some corner cases around that cause index
bloat. If it turns out that you've found one, you may want to document it
so the developers can look into possible solutions.

--
Bill Moran
http://www.potentialtech.com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Ivan Sergio Borgonovo 2007-12-06 15:19:19 Re: simple update on boolean
Previous Message Henrik 2007-12-06 14:18:25 Unreasonable size of table pg 8.2.5