If this would be accepted I might actually be able to accomplish this. Maybe. :) But having a TODO wouldn't be a bad idea as well...
Would this require 2 new fields in pg_attribute, or is there a better way to store the thresholds? I'm thinking that each field would need two special values; 0 for 'no external/compression' and -1 for 'use default' (hrm, I guess this means we should add at least one GUC to control that default...) I suspect there's folks on -general who would express interest if you want me to ask there... On Thu, Mar 02, 2006 at 10:15:19PM -0500, Bruce Momjian wrote: > > Is there still interst in this idea for TODO? > > --------------------------------------------------------------------------- > > As Tom suggested, I think it would be best to be able to change the size > > at which a field gets stored externally. I think it also makes sense to > > have this reverse the normal order of compress first, then if it still > > doesn't fit store it externally. I forsee this typically being useful > > when you have fields that are between ~100 and 1000 bytes in size, and > > I'm doubtful that compression would do much good there. But I wouldn't > > rule out this being useful on fields that can also sometimes contain > > much larger amounts of data, so I don't think it makes sense to disable > > compression completely. So, I think this leaves two new options: > > > > SET STORAGE EXTERNAL [THRESHOLD x] > > If a field is over x in size, it's stored externally. > > > > SET STORAGE EXTENDED [THRESHOLD x] > > If a field is over x in size, it's stored externally. If it's over > > BLCKSZ/4 it will also be compressed (I think that's how things work > > now). > > > > Actually, that's rather ugly. I think it would be better to just break > > external storage and compression out into their own attributes: > > > > SET STORAGE [ ALLOW EXTERNAL [THRESHOLD x] ] [ ALLOW COMPRESSION [THRESHOLD > > x] ] > > > > ALLOW EXTERNAL: if a field is larger than x bytes (BLCKSZ/4 by default) > > then it will be stored externally. May be specified along with ALLOW > > COMPRESSION. > > > > ALLOW COMPRESSION: if a field is larger than x bytes (BLCKSZ/4 by default) > > then it will be COMPRESSED. May be specified along with ALLOW EXTERNAL. -- Jim C. Nasby, Sr. Engineering Consultant [EMAIL PROTECTED] Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings