Re: TOAST & vacuum

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: TOAST & vacuum
Дата
Msg-id 23354.964204190@sss.pgh.pa.us
обсуждение исходный текст
Ответ на TOAST & vacuum  (JanWieck@t-online.de (Jan Wieck))
Ответы Re: TOAST & vacuum  (JanWieck@t-online.de (Jan Wieck))
Список pgsql-hackers
JanWieck@t-online.de (Jan Wieck) writes:
>     TOAST  is now vacuum-safe. When needed, the toaster creates a
>     second  heap  tuple,  containing  only  plain  or  compressed
>     values.  This one is then returned by the heap access methods
>     to  the  caller,  so  indices  will  never  contain  external
>     references.

That should be sufficient for insertions into existing indexes,
but what about CREATE INDEX on a column that already contains
toasted values?  That works with fetched tuples, not ones formed
during insert/update.

I think a cleaner and more reliable short-term hack would be to twiddle
index_formtuple() to detoast any externally-stored attributes.  AFAIK,
in current sources all paths for creating an index tuple go through that
routine, and it has a tupdesc handy so it knows which attributes are of
varlena type.

This way you wouldn't need to hack up the tuptoaster itself.

Also, this would work for functional indexes whereas the way you are
doing it will not (a function could return a toasted Datum extracted
from some other table, no?).
        regards, tom lane


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

Предыдущее
От: Peter Eisentraut
Дата:
Сообщение: Re: About these IPC parameters
Следующее
От: The Hermit Hacker
Дата:
Сообщение: Re: About these IPC parameters