pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
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 字符内部类型 |
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。