У меня есть несколько больших файлов, которые мне нужно импортировать в 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?