"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