PostgreSQL 18 中文参考文档(未翻译部分保留英文)🌐 切换到英文原版 →

8.3. 字符类型 #

SQL 提供了三大通用字符类型:定长字符型 character(n)(简写为 char(n))、带长度上限的变长字符型 character varying(n)(简写为 varchar(n)),以及理论无物理长度限制的变长文本型 text。

在 PostgreSQL 的底层实现中,这三种类型在内部物理存储开销与查询性能上完全没有任何区别。使用 varchar(n) 的唯一目的是利用数据库引擎对超长字符进行强校验拦截。在不需要硬性截断长度的场景下,直接使用 text 是极其通用且性能最优的最佳实践。