On 12/16/15 7:03 AM, Tomas Vondra wrote:

While versioning or increasing the 1GB limit are interesting, they have
nothing to do with this particular patch. (BTW I don't see how the
versioning would work at varlena level - that's something that needs to
be handled at data type level).

Right, but that's often going to be very hard to do and still support pg_upgrade. It's not like most types have spare bits laying around. Granted, this still means non-varlena types are screwed.

I think the only question we need to ask here is whether we want to
allow mixed compression for a column. If no, we're OK with the current
header. This is what the patch does, as it requires a rewrite after
changing the compression method.

I think that is related to the other items though: none of those other items (except maybe the 1G limit) seem to warrant dorking with varlena, but if there were 3 separate features that could make use of support for 8 byte varlena then perhaps it's time to invest in that effort. Especially since IIRC we're currently out of bits, so if we wanted to change this we'd need to do it at least a release in advance so there was a version that would expand 4 byte varlena to 8 byte as needed.

And we're not painting ourselves in the corner - if we decide to
increase the varlena header size in the future, this patch does not make
it any more complicated.

Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com

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

Reply via email to