Re: vacuum full table - internals in 8.3 - Mailing list pgsql-admin

From Kevin Grittner
Subject Re: vacuum full table - internals in 8.3
Date
Msg-id 4CAAFCDA0200002500036520@gw.wicourts.gov
Whole thread Raw
In response to vacuum full table - internals in 8.3  (Kieren Scott <kierenscott@hotmail.com>)
Responses Re: vacuum full table - internals in 8.3
List pgsql-admin
Kieren Scott <kierenscott@hotmail.com> wrote:

> I'm trying to understand what is going on internally when doing a
> VACUUM FULL on a table in 8.3.
>
> I have a table that is 1GB in size, 500M is used, and 500M is free
> space.  When I do a vacuum full on this table, will it either: -
>
> 1) Compact all of the used tuples into free space within the
> existing disk file and then shrink the file to 500M.  Therefore
> simply freeing up 500M in the disk file.

On 8.3, this is what it will do, although it can take a very long
time.  I've given up on this before completion (sometimes after
leaving it cranking away for a couple days) every time I've tried it
on a table with more than a few GB and any significant bloat.  I
don't know that I've ever tried it on a table as small as you
describe, but I would bet that CLUSTER is going to be much faster if
you have the half a GB free space.  Another issue with VACUUM FULL
is that it bloats indexes; so you generally need to follow it with a
REINDEX on the table.

-Kevin

pgsql-admin by date:

Previous
From: Kieren Scott
Date:
Subject: vacuum full table - internals in 8.3
Next
From: "Kevin Grittner"
Date:
Subject: Re: Validade dump file