Re: Eliminating VACUUM FULL WAS: remove flatfiles.c

Поиск
Список
Период
Сортировка
От Dimitri Fontaine
Тема Re: Eliminating VACUUM FULL WAS: remove flatfiles.c
Дата
Msg-id m2skf2zb0b.fsf@hi-media.com
обсуждение исходный текст
Ответ на Re: Eliminating VACUUM FULL WAS: remove flatfiles.c  (Alvaro Herrera <alvherre@commandprompt.com>)
Ответы Re: Eliminating VACUUM FULL WAS: remove flatfiles.c  (Alvaro Herrera <alvherre@commandprompt.com>)
Re: Eliminating VACUUM FULL WAS: remove flatfiles.c  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Alvaro Herrera <alvherre@commandprompt.com> writes:
> Dimitri Fontaine escribió:
>> Why can't MVCC apply here? You'd have two versions of the pg_class entry
>> that just has been CLUSTERed, and you keep the old relfilenode arround
>> too. MVCC applies, and you teach vacuum to clean out the old file when
>> cleaning out the no more visible tuple.
>
> It just doesn't work.  pg_class (and various other rels) are special
> because they are needed to bootstrap the catalog system.  See
> RelationCacheInitializePhase3.  It wouldn't be possible to figure out
> what's pg_class relfilenode until you have read it from pg_class, which
> is precisely what we're trying to do.

Well at bootstrap time I guess noone is able to disturb the system by
placing a concurrent CLUSTER pg_class; call. Once started, do those rels
still need to have a special behavior?

I guess I'm being dense, will now let people in the know find a solution...
--
dim


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Alvaro Herrera
Дата:
Сообщение: Re: Eliminating VACUUM FULL WAS: remove flatfiles.c
Следующее
От: Alvaro Herrera
Дата:
Сообщение: Re: Eliminating VACUUM FULL WAS: remove flatfiles.c