On Thu, 2005-11-03 at 11:13 -0300, Alvaro Herrera wrote: > Simon Riggs wrote: > > On PostgreSQL, CHAR(12) is a bpchar datatype with all instantiations of > > that datatype having a 4 byte varlena header. In this example, all of > > those instantiations having the varlena header set to 12, so essentially > > wasting the 4 byte header. > > We need the length word because the actual size in bytes is variable, > due to multibyte encoding considerations.
Succinctly put, thanks. Incidentally, you remind me that other databases do *not* vary the character length, even if they do have varying length UTF-8 within them. So if you define CHAR(255) then it could blow up at a random length if you store UTF-8 within it. That's behaviour that I could never sanction, so I'll leave this now. Best Regards, Simon Riggs ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings