Re: How do I know my table is bloated?

From: Sergey Konoplev <gray(dot)ru(at)gmail(dot)com>
To: Rodrigo Barboza <rodrigombufrj(at)gmail(dot)com>
Cc: "pgsql-admin(at)postgresql(dot)org" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: How do I know my table is bloated?
Date: 2013-05-31 05:06:22
Message-ID: CAL_0b1sQjTM5ODVGrgwsaf2Ufqt9MMCMUHCJqsSm5TSJfxwoKw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

On Thu, May 30, 2013 at 6:05 AM, Rodrigo Barboza
<rodrigombufrj(at)gmail(dot)com> wrote:
> I saw some people talking about the reindex command and I read in the docs
> the one reason to use reindex is when a table is bloated.
> But how do I know when a table is bloated?

Take a look at the pgcompactor tool
https://code.google.com/p/pgtoolkit/. This will find out what tables
and indexes in your cluster are bloated and softly (without heavy
locks) remove the bloat. Before using it setup the pgstattuple
extension in all the databases you age going to check for bloat. Some
usage examples are below.

To get bloat statistics for all the cluster do:

pgcompactor --all --reindex --verbose info --dry-run

To remove bloat from all the cluster:

pgcompactor --all --reindex --verbose info

For a specific table use:

pgcompactor --table tablename --reindex --verbose info --dry-run

You can also specify --dbname, --schema, --exclude-<dbname/schema/table>, etc.

For all the options:

pgcompactor --man

--
Kind regards,
Sergey Konoplev
PostgreSQL Consultant and DBA

Profile: http://www.linkedin.com/in/grayhemp
Phone: USA +1 (415) 867-9984, Russia +7 (901) 903-0499, +7 (988) 888-1979
Skype: gray-hemp
Jabber: gray(dot)ru(at)gmail(dot)com

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Rodrigo Barboza 2013-05-31 05:09:06 Re: How do I know my table is bloated?
Previous Message Virupaksha Kanjilal 2013-05-30 20:59:52 Re: Output of pg_controldata