Re: BUG #5599: Vacuum fails due to index corruption issues - Mailing list pgsql-bugs

From Tom Lane
Subject Re: BUG #5599: Vacuum fails due to index corruption issues
Date
Msg-id 25994.1281031275@sss.pgh.pa.us
Whole thread Raw
In response to Re: BUG #5599: Vacuum fails due to index corruption issues  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: BUG #5599: Vacuum fails due to index corruption issues  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-bugs
Alvaro Herrera <alvherre@commandprompt.com> writes:
> Excerpts from Tom Lane's message of jue ago 05 13:19:41 -0400 2010:
>> In any case, the removal of VACUUM FULL didn't completely disable
>> shrinking of btree indexes did it?  I don't recall having removed
>> that.

> I see no call to RelationTruncate in the btvacuumscan code, but then it
> was only called in vacuum full before.  I'm not sure how it worked
> previously with only lazy vacuum.  Did we simply leave the pages as free
> for a later extension?

You're right, I misremembered.  That code is just plain gone in 9.0:
http://anoncvs.postgresql.org/cvsweb.cgi/pgsql/src/backend/access/nbtree/nbtree.c.diff?r1=1.174;r2=1.175;f=h

Still, we have a live issue with heap truncation during plain VACUUM.
However, the scope of the problem seems a lot less than I was thinking.
Maybe write-the-buffers-first is a sufficient longterm solution.

            regards, tom lane

pgsql-bugs by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: BUG #5599: Vacuum fails due to index corruption issues
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Drop one-argument string_agg? (was Re: string_agg delimiter having no effect with order by)