历史版本。 PostgreSQL 6.4 已结束支持。 请参阅 当前版本手册.
8.3. 字符类型
SQL92 定义了两种主要的字符类型:char 和
varchar。Postgres
支持这些类型,此外还有更通用的
text 类型;与
varchar
不同,它不要求为字段大小声明上限。
表 8.5. Postgres 字符类型
| 字符类型 | 存储尺寸 | 建议 | 描述 |
|---|---|---|---|
| char | 1字节 | SQL92 兼容 | 单字符 |
| char(n) | (4+n) 字节 | SQL92 兼容 | 定长,空白填充 |
| text | (4+x) 字节 | 最佳选择 | 变长 |
| varchar(n) | (4+n) 字节 | SQL92 兼容 | 有长度限制的变长 |
还有另一种定长字符类型。name
类型只有一个用途,即给
Postgres
提供一个用于内部名称的特殊类型。它并非供普通用户使用。其长度目前定义为
32 个字符,但应使用
NAMEDATALEN
引用。这在编译时设定,在未来的版本中可能改变。
表 8.6. Postgres 特殊字符类型
| 字符类型 | 存储尺寸 | 描述 |
|---|---|---|
| name | 32字节 | 32 字符内部类型 |