Re: gistVacuumUpdate - Mailing list pgsql-hackers

From yamt@mwd.biglobe.ne.jp (YAMAMOTO Takashi)
Subject Re: gistVacuumUpdate
Date
Msg-id 20120118213844.88E0D14A1E9@mail.netbsd.org
Whole thread Raw
In response to Re: gistVacuumUpdate  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
Responses Re: gistVacuumUpdate  (Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>)
List pgsql-hackers
hi,

> On 13.01.2012 06:24, YAMAMOTO Takashi wrote:
>> hi,
>>
>> gistVacuumUpdate was removed when old-style VACUUM FULL was removed.
>> i wonder why.
>> it was not practical and REINDEX is preferred?
>>
>> anyway, the removal seems incomplete and there are some leftovers:
>>     F_TUPLES_DELETED
>>     F_DELETED
>>     XLOG_GIST_PAGE_DELETE
> 
> Hmm, in theory we might bring back support for deleting pages in the 
> future, I'm guessing F_DELETED and the WAL record type were left in 
> place because of that. Either that, or it was an oversight. It's also 
> good to have the F_DELETED/F_TUPLES_DELETED around, so that new versions 
> don't get confused if they see those set in GiST indexes that originate 
> from an old cluster, upgraded to new version with pg_upgrade. For that 
> purpose, a comment explaining what those used to be would've been 
> enough, though.

the loop in gistvacuumcleanup to search F_DELETED pages seems too expensive
for pg_upgrade purpose.
(while it also checks PageIsNew, is it alone worth the loop?)

i'm wondering because what gistVacuumUpdate used to do does not seem to
be necessarily tied to the old-style VACUUM FULL.
currently, no one will re-union keys after tuple removals, right?

YAMAMOTO Takashi

> 
> -- 
>    Heikki Linnakangas
>    EnterpriseDB   http://www.enterprisedb.com


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: Should I implement DROP INDEX CONCURRENTLY?
Next
From: Robert Haas
Date:
Subject: Re: how to create a non-inherited CHECK constraint in CREATE TABLE