About TOAST and indices

Started by Nonameover 25 years ago3 messages
#1Noname
JanWieck@t-online.de

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 #

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Noname (#1)
Re: About TOAST and indices

JanWieck@t-online.de (Jan Wieck) writes:

So at the time beeing, I think index tuples should not
contain any external toast references.

Seems like a good stopgap solution. You'll still allow them to be
compressed in-line, though, right?

regards, tom lane

#3Noname
JanWieck@t-online.de
In reply to: Tom Lane (#2)
Re: About TOAST and indices

Tom Lane wrote:

JanWieck@t-online.de (Jan Wieck) writes:

So at the time beeing, I think index tuples should not
contain any external toast references.

Seems like a good stopgap solution. You'll still allow them to be
compressed in-line, though, right?

Of course. There's no problem with in-line compressed items.
It's only these external references that cause trouble after
a vacuum.

Jan

--

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