On Thu, 2005-09-08 at 09:53 -0700, Josh Berkus wrote: > Takahiro, > > > PostgreSQL can treat variable-length data flexibly, but therefore > > it consumes more spaces if we store short data. Headers of > > variable-length types use 4 bytes regardless of the data length. > > > > My idea is to change the header itself to variable-length. > > In order to reduce the size of short data, I wrote a patch to encode > > lengths into the first several bits of structure. Also, the alignments > > of the types were changed to 'char' from 'int'. > > > > I know my patch is still insufficient, for example, the types cannot > > be TOASTed. But I guess this compression works well for short text. > > Hmmm. Seems like these would be different data types from the standard ones > we deal with. I can see the value for data warehousing, for example. > > Wouldn't this require creating, for example, a SHORTTEXT type? Or were you > planning this to handle VARCHAR(6) and the like? If so, how would we deal > with users who change the length via ALTER TABLE?
I believe ALTER TABLE always rewrites the structure using a standard cast or another expression. -- ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org