@VVizard

Как лучше выполнить импорт XML (8 Gb) в таблицу postgresql?

Нужно загружать файлы ФИАС, а точнее нового ГАР (https://fias.nalog.ru/Updates) в базу postgresql.
Особенность этих файлов это большой размер XML (до 7 Gb).

Сейчас загрузка реализована для MS SQL через sqlxmlbulkload, 90 Gb загружается за 4,5 часа.
Реализовано там все достаточно просто, есть XSD с доп аннотациями, нужно указать эту XSD + XML и все.

В рамках импортозамещения нужно перейти на PG начал изучать вопрос и ничего подобного не нашел, попадется только вариант когда мы считываем XML в память или в таблицу и работаем с ним череp xpath.

В MS SQL тоже есть такой подход но там он не сработал на больших файлах, думаю что и с Pg будет такая же проблема.

Если у кого то есть опыт работы с PG и большими XML на PG буду благодарен за любую информацию.
  • Вопрос задан
  • 2035 просмотров
Пригласить эксперта
Ответы на вопрос 2
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Зайдите в мой гит. Там есть этот проект , имплементируйте плагин для постгрее.
Ответ написан
ky0
@ky0
Миллиардер, филантроп, патологический лгун
Если XML более-менее "плоский", то можно распарсить его вне СУБД (с помощью того же xmlstarlet, например) и превратить, например, в CSV - после чего загружать кусками через COPY, в том числе параллельно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы