Re: 7.3.1 takes long time to vacuum table?

From: Jean-Luc Lachance <jllachan(at)nsd(dot)ca>
To: "Shridhar Daithankar<shridhar_daithankar(at)persistent(dot)co(dot)in>" <shridhar_daithankar(at)persistent(dot)co(dot)in>
Cc: PostgreSQL General <pgsql-general(at)postgresql(dot)org>
Subject: Re: 7.3.1 takes long time to vacuum table?
Date: 2003-02-20 16:42:55
Message-ID: 3E55058F.8D9C0AD5@nsd.ca
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Well, here is another case where partitioning would be usefull.

Lets all agree the that vaccuming a small table should be better done by
copying to a new one.
Now, if a larger table would be partitioned, it would allow vacuuming
one partition at a time.

JLL

P.S. Is there really a need to reorder the vaccumed table???

"Shridhar Daithankar" wrote:
>
[...]
> Well, One thing I can think of is the extra space required. The algo. looks
> good but it would be very difficult to make sure that it works all the time
> especially given that postgresql does not have sophisticated and/or tunable
> storage handling( think of tablespaces ).
>
> It is always space-time trade-off. On one hand we have vacuum which uses a
> constant and may be negiliible space but takes time proportional to amount of
> work. On other hand we have drop/recreate table which takes double the space
> but is extremely fast i.e. proportinal to data size at max. I/O bandwidth
> available..
>
> It would be good if there is in between. Of course it would not be easy to do
> it. But it has to start, isn't it?..:-)
>
> > In fact, my colleague has just done a test with SELECT..INTO on our dev
> > version and it compacted 600Mb -> 400Mb in just 40s(!). We then did a
> > vacuum full on the same original 600Mb table which is still going after
> > 20mins. Difficult choice! So even in a worse case scenario we could have
> > a fully vacuumed table within a day.... we're looking at dropping some
> > indexes in the db to reclaim enough space to be able to fit another copy
> > of the table on the disk... this is looking very tempting at the
> > moment....
>
> I recommend this strategy of "vacuuming" be documented in standard
> documentation and FAQ. Given that postgresql is routinely deployed for
> databases >10GB which is greater than small/medium by any definition today, I
> think this will be a good move.
>
> Furthermore this strategy reduces the down time due to vacuum full locks
> drastically. I would say it is worth buying a 80GB IDE disk for this purpose
> if you have this big database..
>
> Nice to see that my idea helped somebody..:-)
>
> Shridhar
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Henrik Steffen 2003-02-20 17:03:40 reindex vs. drop index , create index
Previous Message Arunachalam Jaisankar 2003-02-20 16:40:02 How to drop all the sequences