Eon*_*nil 18 postgresql database
我所知道的关于它们的差异是varchar有限的,而text不是有限的。该文件没有提及这一点。
这真的是唯一的区别吗?不考虑性能等?
Pet*_*aut 25
这样做的背景是:旧的 Postgres 系统使用了 PostQUEL 语言并使用了一个名为的数据类型text(因为有人认为这是一个存储文本类型的好名字)。然后,Postgres 被转换为使用 SQL 作为其语言。为了实现 SQL 兼容性,没有重命名text类型,而是varchar添加了一个新类型。但是这两种类型在内部都使用相同的 C 例程。
现在,在某种程度上,在某些地方,它text被硬编码为默认类型,以防无法导出其他类型。此外,大多数函数仅可用作接受text参数或返回text. 这两种类型是二进制兼容的,因此转换是一个微不足道的解析时操作。但text总体而言,使用对系统来说仍然更自然。
但除了这些细微之处,没有明显的区别。使用你觉得更漂亮的那个。;-)