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

dkn*_*ack 4 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可以看看。

Ben*_*n H 5

保存在postgres表中的文本数据将更大。您可以获得一个近似值:DATA_SIZE*1,28 第二象限

同样,在加载数据之前,select pg_column_size(to_jsonb('[DATA]'::text))还会提示您所需的大小。