Re: dead tuples and VACUUM

From: Bruno Wolff III <bruno(at)wolff(dot)to>
To: Dima Tkach <dmitry(at)openratings(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: dead tuples and VACUUM
Date: 2003-05-31 20:24:14
Message-ID: 20030531202414.GA2845@wolff.to
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Sat, May 31, 2003 at 14:15:04 -0400,
Dima Tkach <dmitry(at)openratings(dot)com> wrote:
>
> First of all, it is my understanding that this monthly job will
> double the size of the table (create a copy of every tuple it is
> updating). Is that right?

Yes.

> Now, if I run VACUUM on that table, it is supposed to reclaim those dead
> tuples.. Will it actually? I remember some discussions about 7.2, where
> it was mentioned that plain (not FULL) VACUUM doesn't move rows between
> pages (so, it seems to me, that if every row is updated, plain vacuum is
> useless). Is it any better in 7.3? Or does it still have to be VACUUM
> FULL?

You need to make sure FSM is set large enough to plain vacuum to recover
all of the tuples.

> And finally, if I do *not* run VACUUM, and let it just sit there with
> the doubled number of tuples, what will happen next month, when every
> row gets updated again? Will it be able to reuse the dead tuples then,
> or will it just keep creating the new ones?

If you don't run even plain vacuum the deleted tuples won't be reused.
If you have run plain vacuum with FSM set high enough the free space
will be reused.

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2003-05-31 20:34:06 Re: dead tuples and VACUUM
Previous Message PeterKorman 2003-05-31 19:19:03 Re: Slashdot: SAP and MySQL Join Forces