其背景是:旧Postgres系统使用PostQUEL语言并使用名为text的数据类型(因为有人认为这是存储文本的类型的好
名称).然后,Postgres被转换为使用
sql作为其语言.为了实现
sql兼容性,
添加了一个新类型的varchar,而不是
重命名文本类型.但是这两种类型在内部使用相同的C例程.
现在,在某种程度上,在某些地方,文本被硬编码为默认类型,以防其他任何内容都无法派生.此外,大多数函数仅可用于获取文本参数或返回文本.这两种类型是二进制兼容的,因此转换是一个简单的分析时操作.但是使用文本对于系统来说仍然是更自然的.
但除了这些优点之外,没有明显的区别.使用任何一个看起来更漂亮的人.