KRI*_*HNA 41 sql postgresql-9.2
您好我使用postgresql 9.2,我想使用varchar(n)来存储一些长字符串,但我不知道varchar(n)支持的字符的最大长度.哪一个更好用,你能建议我吗?谢谢
cow*_*ert 43
tl; dr:1 GB(每个字符(实际上:代码点)可以由1个或多个字节表示,具体取决于它们在unicode平面上的位置 - 假设是UTF-8编码的数据库).现在,您应该始终text在Postgresql中使用数据类型作为任意长度的字符数据.
说明:
varchar(n)并text使用相同的后端存储类型(varlena):具有32位长度计数器的可变长度字节数组.对于索引行为text甚至可能具有一些性能优势.Postgres的最佳实践是将text类型用于新开发; varchar(n)仍然是出于SQL标准支持的原因.注意:( varchar()带空括号)是Postgres特定的别名text.
另见:http: //www.postgresql.org/about/
Dai*_*Dai 18
根据官方文件(http://www.postgresql.org/docs/9.2/static/datatype-character.html):
在任何情况下,可存储的最长字符串大约为1 GB.(数据类型声明中n允许的最大值小于此值.更改此值没有用,因为使用多字节字符编码时,字符数和字节数可能会大不相同.如果您希望存储没有特定上限的长字符串,使用不带长度说明符的文本或字符变化,而不是构成任意长度限制.)
在线搜索显示允许的最大值取决于安装和编译选项,一些用户报告最多10485760字符(精确10MiB,假设每字符固定编码1字节).
通过"安装和编译选项"我的意思是你总是可以自己从源代码构建PostgreSQL,在编译PostgreSQL以创建自己的数据库服务器之前,你可以配置它如何存储文本来改变你可以存储的最大数量 - 但是如果你这样做的话这意味着如果您尝试将数据库文件与"正常",非自定义的PostgreSQL构建一起使用,则可能会遇到麻烦.
| 归档时间: |
|
| 查看次数: |
68398 次 |
| 最近记录: |