Как импортировать большие файлы JSON в PostgreSQL (слишком длинная строка для преобразования кодировки) - PullRequest
0 голосов
/ 10 февраля 2019

У меня есть несколько больших файлов, которые мне нужно импортировать в PostgreSQL 11. Я использую следующее для импорта файлов из командной строки:

\set content `type C:\sensors\201802091904.json`
create table t2 ( j jsonb );
insert into t2 values (:'content');  *** failure occurs here ***
select * from t2;
CREATE TABLE T (j jsonb);
INSERT INTO T SELECT jsonb_array_elements(j)::jsonb FROM T2;

Вышеуказанные шаги работают с моими тестовыми файлами, но завершаются неудачно, когдаиспользуя файлы реального размера (более 300 МБ).Размер файлов будет только увеличиваться.

Выполнение insert into t2 values (:'content'); приводит к следующему:

ERROR:  out of memory
DETAIL:  String of 296579468 bytes is too long for encoding conversion.

Без написания пользовательского кода, как обойти эту ошибку при импорте файлов JSON в PostgreSQL?

...