Tom Lane napsal(a):
Heikki Linnakangas <[EMAIL PROTECTED]> writes:
Hmm, you're right. I think it can be made to work by storing the *end* offset of each chunk. To find the chunk containing offset X, search for the first chunk with end_offset > X.

Yeah, that seems like it would work, and it would disentangle us
altogether from needing a hard-wired chunk size.  The only downside is
that it'd be a pain to convert in-place.  However, if we are also going
to add identifying information to the toast chunks (like the owning
column's number or datatype), then you could tell whether a toast chunk
had been converted by checking t_natts.  So in principle a toast table
could be converted a page at a time.  If the converted data didn't fit
you could push one of the chunks out to some new page of the file.

Yeah it was, main intention. Problem is toast index, but It is common problem not only for toast tables.

On the whole I like this a lot better than Zdenek's original proposal
http://archives.postgresql.org/pgsql-hackers/2008-10/msg00556.php
which didn't seem to me to solve much of anything.

Agree. This approach is much better. It add more complexity now for converting chunk from old to the new version. But it add a benefit - for example vacuum can remove data from dropped columns and so on.

                Zdenek

--
Zdenek Kotala              Sun Microsystems
Prague, Czech Republic     http://sun.com/postgresql


--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to