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

Reply via email to