我在文本字段中导入了一个 JSON 数组,并想将其转换为 JSONB。
我得到以下错误
SQL Error [54000]: ERROR: total size of jsonb array elements exceeds the maximum of 268435455 bytes ERROR: total size of jsonb array elements exceeds the maximum of 268435455 bytes ERROR: total size of jsonb array elements exceeds the maximum of 268435455 bytes
pg_column_size()
函数返回大小为 59,596,497。
在我使用 COPY 命令将数据导入 Postgres 数据库之前,JSON 数据在磁盘上的大小为 200 MB。
我该如何解决这个问题?例如。通过在导入之前计算磁盘上我的 JSON 文件的结果大小?
更新:我找到了引发此异常的类的源代码。也许精通 C
的人可以看一看。
最佳答案
文本数据保存在postgres表中会比较大。
您可以获得一个近似值:DATA_SIZE*1,28
2nd Quadrant .
此外,在加载数据之前,select pg_column_size(to_jsonb('[DATA]'::text))
会提示您预期的大小。
关于c - PostgreSQL:文本到 JSONB - 总大小超过最大值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48931558/