Re: simple question - Mailing list pgsql-general

From Doug McNaught
Subject Re: simple question
Date
Msg-id 87smktuika.fsf@asmodeus.mcnaught.org
Whole thread Raw
In response to Perfomance difference between 7.2 and 7.3  (Paulo Jan <admin@digital.ddnet.es>)
List pgsql-general
"Rick Gigger" <rick@alpinenetworking.com> writes:

> Is this correct?
>
> vacuum by itself just cleans out the old extraneous tuples so that they
> aren't in the way anymore

Actually it puts the free space in each page on a list (the free space
map) so it can be reused for new tuples without having to allocate
fresh pages.  It finds free space by looking for tuples that can't be
seen any more by any transaction.

> vacuum analyze rebuilds indexes.  If you add an index to a table it won't be
> used until you vacuum analyze it

It doesn't rebuild indexes--REINDEX does that.  ANALYZE measures the
size and statistics of the data in the table, so the planner can do a
good job.

> vacuum full actually compresses the table on disk by reclaiming the space
> from the old tuples after they have been removed.

It moves tuples around and frees up pages at the end of the table,
thus compacting it.

So you're mostly wrong on all three.  :)

-Doug

pgsql-general by date:

Previous
From: Martijn van Oosterhout
Date:
Subject: Re: More Praise for 7.4RC2
Next
From: "Uwe C. Schroeder"
Date:
Subject: Curious about exclusive table locks