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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM