Re: Vacuuming DVs with few/no updates?

From: Preston <unsane(at)idl(dot)com(dot)au>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Preston <unsane(at)idl(dot)com(dot)au>, pgsql-admin(at)postgresql(dot)org
Subject: Re: Vacuuming DVs with few/no updates?
Date: 2003-02-06 05:23:35
Message-ID: 1044509015.3e41f157a06c3@mail.idl.net.au
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Quoting Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>:

> Preston <unsane(at)idl(dot)com(dot)au> writes:
> > Just wondering about how useful the vacuumdb functionality is for a
> > database
> > that pretty much only ever gets inserts/selects.
>
> > I've got a database that is intended for next-to-no deletion of
> > records, which is where I see the vacuum facility mostly intended
> > for. I.e., while there'll be the occasional record edits, these edits
> > will primarily be of the form of adjusting integer records (and
> > therefore shouldn't adjust any space requirements for a row).
>
> You have an important misconception lurking in there. In Postgres,
> an UPDATE is equivalent to INSERT (of the new row version) followed by
> DELETE (of the old row version). Therefore, it creates dead rows that
> need to be reclaimed by VACUUM, just as much as DELETE would do.

Ah OK - thanks for explaining that to me. It changes my outlook quite a bit.

However, the inserts will still outnumber the updates on a scale of about 30:1.

> But yeah, if you have very very few updates or deletes then you don't
> need to vacuum very often. (You might possibly need to ANALYZE more
> often than you VACUUM, if statistics like column min/max values are
> changing significantly due to the insertion traffic.)

OK, will look into that side of it.

> > I'm thinking that with this database I'll configure vacuumdb to only
> > run once a month or so. But before I do that I want to make sure I'm
> > not missing some other important functionality that it does...
>
> You should read the discussion of transaction wraparound in the Admin
> Guide's chapter about routine maintenance (specifically VACUUM ;-)).
> Once-a-month vacuum is fine if your total transaction load doesn't
> exceed 1 billion per month ...

Thanks - will find and read that... Once again caught by the "too much to do not
enough time" bug.

Does that transaction load include selects?

Due to automated web-based refreshing of views of tables I'd expect the selects
to number around 2,000 to 10,000 per day... I know that's still not anywhere
near a billion but it's to the point of a more interesting amount if transaction
load includes selects...

Cheers,

-Preston.

--
Oops.

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Tom Lane 2003-02-06 05:35:47 Re: Vacuuming DVs with few/no updates?
Previous Message Tom Lane 2003-02-06 05:15:49 Re: Vacuuming DVs with few/no updates?