Re: Block B-Tree concept - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: Block B-Tree concept
Date
Msg-id 20060926162701.GB6330@alvh.no-ip.org
Whole thread Raw
In response to Re: Block B-Tree concept  (Heikki Linnakangas <heikki@enterprisedb.com>)
List pgsql-hackers
Heikki Linnakangas wrote:
> Tom Lane wrote:
> >Anything that involves having VACUUM re-evaluate index expressions is a
> >nonstarter ... or have you already forgotten the optimizations we put
> >into 8.2 that assume, eg, no sub-transactions within a VACUUM?
> 
> Umm, I'm afraid I have. Could you give me a clue?

The patch by Hannu Krossing that allows a lazy vacuum to ignore other
lazy vacuums, when computing the OldestXmin.

The point is you can only ignore other lazy vacuums if they are not
going to visit the heap.  Otherwise you'd risk removing a tuple that the
other vacuum wants to see.

You could here shout that surely no two vacuums could be trying to clean
the same table at the same time, but it turns out that you can have
functional indexes that scan other tables.  Sure, it's a bad idea, but ...

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [PATCHES] Too many messages from Autovacuum
Next
From: Heikki Linnakangas
Date:
Subject: Re: Block B-Tree concept