↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

支持中的版本: 当前版本 (18) / 17 / 16 / 15 / 14
开发中的版本: 19 / 20devel
已结束支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
历史版本。 PostgreSQL 7.1 已结束支持。 请参阅 当前版本手册.

3.3. 字符类型 #

SQL 定义了两种主要的字符类型:character 和 character varying。Postgres 支持这些类型,此外还有更通用的 text 类型;与 character varying 不同,它不要求为字段大小显式声明上限。

关于字符串字面量的语法,参见第 1.1.2.1 节;关于可用的运算符和函数,参见第 4 章。

表 3.4. 字符类型

类型名存储尺寸建议描述
character(n), char(n)(4+n) 字节SQL 兼容定长,空白填充
character varying(n), varchar(n)(4+n) 字节SQL 兼容有长度限制的变长
text(4+n) 字节最灵活无限长度的变长


注意

尽管 text 类型不符合 SQL,许多其他 RDBMS 软件包也有它。

Postgres 中还有另外两种定长字符类型。name 类型仅用于存储内部系统目录的名称,并非供普通用户使用。其长度目前定义为 32 字节(31 个字符加终止符),但应使用宏 NAMEDATALEN 引用。该长度在编译时设定(因此可为特殊用途调整);默认的最大长度在未来的版本中可能改变。类型 "char"(注意引号)与 char(1) 的不同之处在于它只使用一个字节的存储。它在系统目录内部被用作一种简易的枚举类型。

表 3.5. 特殊字符类型

类型名存储尺寸描述
"char"1字节单字符内部类型
name32字节31 字符内部类型


报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.