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