Re: remove flatfiles.c

From: Greg Stark <gsstark(at)mit(dot)edu>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Simon Riggs <simon(at)2ndquadrant(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: remove flatfiles.c
Date: 2009-09-01 23:34:07
Message-ID: 407d949e0909011634q716b254fhe4365e6faef67e0c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Wed, Sep 2, 2009 at 12:01 AM, Alvaro
Herrera<alvherre(at)commandprompt(dot)com> wrote:
>> The use cases where VACUUM FULL wins currently are where storing two
>> copies of the table and its indexes concurrently just isn't practical.
>
> Yeah, but then do you really need to use VACUUM FULL?  If that's really
> a problem then there ain't that many dead tuples around.

That's what I want to believe. But picture if you have, say a
1-terabyte table which is 50% dead tuples and you don't have a spare
1-terabytes to rewrite the whole table.

>> Also perhaps tables where there are too many large indexes to make
>> rebuilding them all in one maintenance window practical.
>
> If that's the concern maybe we oughta do something about concurrently
> re-creating those indexes somehow.  Plain REINDEX doesn't work of
> course, but maybe we can do some trick with creating a new index and
> dropping the original one afterwards.

Well that doesn't really work if you want to rewrite the table.
CLUSTER has to rebuild all the indexes when it's done.

I think the solution for both of these is actually partitioning. The
bottom line is that having a single table which contains very large
amounts of data is awkward to maintain.

--
greg
http://mit.edu/~gsstark/resume.pdf

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-09-01 23:42:56 Re: remove flatfiles.c
Previous Message Alvaro Herrera 2009-09-01 23:01:34 Re: remove flatfiles.c