About TOAST and indices
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 #
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
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 #