PostgreSQL: Don't Use CHAR or VARCHAR:

It turns out that many variable length data types (and some that are fixed length, like CHAR) are represented internally with the same varlena data structure, which is simply a byte array prefixed with a 32-bit length field.

I assume I'm missing something, but, if true, that seems extremely lazy.