postgres数据库varchar类型的最大长度

Posted lnlvinso

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了postgres数据库varchar类型的最大长度相关的知识,希望对你有一定的参考价值。

  在分析一个场景时,postgres中的一个字段存储很长的字符串时,是否可能存在问题。被问到varchar类型的最大长度,不是很清楚。

       查了一下,记录一下。

名字描述
character varying(n)varchar(n) 变长,有长度限制
character(n)char(n) 定长,不足补空白
text 变长,无长度限制

     

  简单来说,varchar的长度可变,而char的长度不可变,对于postgresql数据库来说varchar和char的区别仅仅在于前者是变长,而后者是定长,最大长度都是10485760(1GB)

  varchar不指定长度,可以存储最大长度(1GB)的字符串,而char不指定长度,默认则为1,这点需要注意。

  text类型:在postgresql数据库里边,text和varchar几乎无性能差别,区别仅在于存储结构的不同。

  对于char的使用,应该在确定字符串长度的情况下使用,否则应该选择varchar或者text。


        其他人说的最大长度是10485760,我不是DBA,也没做过这个实验。但是有疑问,编码格式不为UTF-8时,是否还是10485760?

        text类型是挺好用的,假如需要存储一个复杂且结构可能会变化的数据,搞成json字符串存储到text里也是很好的。感觉成了MongoDB

 

以上是关于postgres数据库varchar类型的最大长度的主要内容,如果未能解决你的问题,请参考以下文章

mysql varchar最大是多少?

mysql varchar 最大可以设置多少

oracle中字段类型varchar2最大长度是多少?

pl/sql 字符类型

char与varchar的区别

干货分享DM数据库varchar类型长度解析