On lau, 2007-06-16 at 13:35 +0200, okparanoid@free.fr wrote:
> Thanks
>
> if i understand well that means that if i choose character varying(3) or
> character varying(8) or character varying(32) or character varying with no max
> length the fields will take the same place in the disk (8kb) except for fields
> too long to take place in the 8kb whose are stored in another place ?
>
> Is that correct ?
not at all
a varchar will occupy the bytelength of your actual string,
+ a small fixed overhead+padding, except when the total rowsize causes
TOASTing
in single-byte encodings, the string 'okparanoid' will occupy
the same amount of diskspace in a varchar, varchar(10) or a
varchar(1000) column, namely around 16 bytes.
hope this helps
gnari