2012-05-01 51 views
34

我正在使用python。postgresql中“TEXT”数据类型的最大大小

我在postgres中有一个“text”数据类型的字段。每当我尝试保存一个非常大的字符串时,它会在python中引发内部错误,但是如果我用较小的大小保存字符串,它会正确保存它。

我不明白这个问题。输入“TEXT”数据类型的字符是否有一些最大限制?

+0

什么是错误?你确定你在大文本中没有任何可能破坏查询的字符吗? – Habib

+0

是否存在限制列大小的限制? – luke2012

+0

什么是具体的错误信息?该行看起来如何引发它? –

回答

59

manual

In any case, the longest possible character string that can be stored is about 1 GB.

+0

它首次保存了大字符串。但是当再次尝试保存时,通过添加一个额外的字符,它会给出“内部服务器错误:交易完成直到块结束” – user977933

+4

检查日志文件以查看所有错误消息,这看起来像最后一个,不要告诉你任何事情。 –

+1

这是100%正确吗?从[手册](https://www.postgresql.org/docs/current/static/datatype-character.html)中也可以看到: **(在数据类型中允许n的最大值声明小于这个值,改变这一点是没有用的,因为使用多字节字符编码,字符和字节的数量可能会大不相同如果你希望存储没有特定上限的长字符串,可以使用文本或字符变化一个长度说明符,而不是构成任意长度限制。)** – Carlos