Heikki Linnakangas napsal(a):
Zdenek Kotala wrote:
The problem what I need to solve is how to handle different TOAST
chunk size which becomes with upgrade. if you insert new record into
TOAST table it will be created on the new page which has different max
chunk size, because it depends on page header size. It means that one
TOAST table will have more chunk size.
Use old value from previous version is possible but it could invoke
waste of space in situation when pageheader in a new version is bigger.
Another solution is to take first chunk size and say - it is max chunk
size.
Not all chunks need to be the same size. We do currently require that,
but AFAICS it's only because that allows random access to a given offset
within a datum. That's of course nice, but I think we could live without
it.
Good point. I think it is good to keep this feature.
Or try random access with the new toast size first, and if the
chunks turn out to be different size, fall back to reading all chunks
sequentially.
I think it is not necessary to read it sequentially, only you need to recompute
new position.
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