Adrian Klaver <adrian.klaver@xxxxxxxxxxx> writes: >> page 28: >> >> Unlike many >> databases, char(n) is NOT stored as afixed-sizedfield >> in Postgres. It is treated exactly the sameas >> varchar(n)except for being padded > Which directly contradicts the information on page 27: This info is probably not as well worded as it could be, but it's not really wrong. The key point is that char(N) is blank-padded (thereby wasting space) to be N *characters*, but that is not necessarily N *bytes*, because of possible multi-byte characters. Therefore the engine has to treat it as a variable-length datatype. I believe in some some other DBMSes, char(N) means N *bytes* and is treated as a fixed-size datatype. Dunno what they do with multibyte encodings. regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general