SQL92 definit deux types caractère primaires : char et varchar. Postgres offre ces types, en plus des types text plus généraux, lesquels (à la différence de varchar) sont utilisables sans devoir déclarer de nombre maximum de caractères abritables.
Tableau 3-5. Types caractère Postgres
Type caractère | Stockage | Recommandation | Description |
---|---|---|---|
char | 1 octet | compatible SQL92 | caractère unique |
char(n) | (4+n) octets | compatible SQL92 | Fixed-length blank padded |
text | (4+x) octets | le meilleur choix | longueur variable |
varchar(n) | (4+n) octets | compatible SQL92 | longueur variable limitée |
Il existe un autre type caractère de longueur fixe. Le type name a un objectif, celui de fournir à Postgres un type spécial pour les noms internes. Il n'est pas destiné à l'utilisateur. Sa longueur est définie à 32 caractères mais sera référencé en utilisant NAMEDATALEN. Il est implémenté pour l'instant, mais peut changer dans les futures versions.
Tableau 3-6. Type caractère spécial Postgres
Type caractère | Stockage | Description |
---|---|---|
name | 32 octets | type interne sur 32 caractères |