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 兼容 | 有长度限制的变长 |
还有另一种定长字符类型。name 类型只有一个用途,即给 Postgres 提供一个用于内部名称的特殊类型。它并非供普通用户使用。其长度目前定义为 32 个字符,但应使用 NAMEDATALEN 引用。这在编译时设定,在未来的版本中可能改变。
表 3.6. Postgres 特殊字符类型
| 字符类型 | 存储尺寸 | 描述 |
|---|---|---|
| name | 32字节 | 32 字符内部类型 |
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。