Re: pg_reorg

From: Jens Wilke <jens(at)wilke(dot)org>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: pg_reorg
Date: 2011-04-19 13:48:59
Message-ID: 20110419134859.GA52875@wilke.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Tue, Apr 19, 2011 at 04:02:01AM +0530, Vibhor Kumar wrote:

> > IIRC "vacuum full" mode rewrites the indexes as well.
>
> Till 8.4 no. From 9.0 onwards yes. However VACUUM FULL still locks the table.

Don't be confused with the "vacuum full" term.
This has nothing to do with the postgresql "vacuum full" command.
Both pg_reorg's "vacuum full" and "cluster" mode do the pretty same thing. They rewrite the table and all their indexes. They use triggers to update the new table during the reorganisation.
The only difference is that "cluster" does an additional order by.
Both of them lock the original table at the end of the reorganisation just for the switch.
If the lock is not granted within -T seconds, the backends holding locks are canceled.

If you run out of diskspace, it's possible to reorg table by table.
And yes, pg_reorg does only work with tables with a primary key.
This will change in future releases, IIRC

regards, Jens

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Merlin Moncure 2011-04-19 14:02:02 Re: pg_reorg
Previous Message giova 2011-04-19 13:39:23 how to force an insert before Raise Exception?