PostgreSQL:文本到JSONB - 总大小超过最大值

时间:2018-02-22 15:45:45

标签: c postgresql

我在文本字段中导入了一个JSON数组,并希望将其转换为JSONB。

我收到以下错误

  

SQL错误[54000]:错误:jsonb数组元素的总大小超过268435455字节的最大值     错误:jsonb数组元素的总大小超过268435455字节的最大值     错误:jsonb数组元素的总大小超过最大值268435455字节

pg_column_size()函数返回59,596,497的大小。

在使用COPY命令将数据导入Postgres数据库之前,磁盘上的JSON数据大小为200 MB。

我该如何解决这个问题?例如。通过在导入之前从磁盘上的JSON文件计算结果大小?

更新:我找到了抛出此异常的类的源代码。也许有C专业知识的人可以看一下。

1 个答案:

答案 0 :(得分:2)

文本数据将更大,保存在postgres表格中。 您可以获得近似值:DATA_SIZE*1,28 2nd Quadrant

在加载数据之前select pg_column_size(to_jsonb('[DATA]'::text))会给出一个预期大小的提示。