About TOAST and indices

Jan Wieck <janwieck@t-online.de>

From: JanWieck@t-online.de (Jan Wieck)
To: PostgreSQL HACKERS <pgsql-hackers@postgresql.org>
Date: 2000-07-20T15:20:38Z
Lists: pgsql-hackers
Hi,

    up to now, TOAST would be a v7.1 show-stopper, because due to
    the upper-block btree references  problem,  it's  not  VACUUM
    safe  if there's a btree index on a toastable attribute (like
    text).

    The only clean way to get rid of these upper-block references
    is to recreate the indices from scratch, instead of vacuuming
    them in the crash-safe manner we do now. But doing  so  needs
    file  versioning,  and I don't expect it to be implemented in
    v7.1.

    So at the time  beeing,  I  think  index  tuples  should  not
    contain  any external toast references. I'll change the heap-
    am/toaster combo temporarily to do that.  All  that  will  be
    covered  by  #ifdef, so we can switch back easily at the time
    we have file versioning to unlimit indexed attribute sizes as
    well.

    Comments?


Jan

--

#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck@Yahoo.com #