Команда COPY. Импорт большого файла

Всем доброго времени суток!

В общем есть большой файл для импорта в таблицу, около гига. Оставил выполнение запроса на ночь. Прихожу на утро, запрос еще выполняется. А этого уже больше 12 часов, все таки очень долго. Сам запрос совершенно обычный:

copy <schema.table> FROM '<filename>.txt' WITH delimiter AS '~';

Я понимаю что файл огромен, но все таки есть ли пути ускорения выполнения импорта? Спасибо всем заранее!

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Проверьте, нет ли у вас

Проверьте, нет ли у вас индексов на эту таблицу.
Перед COPY советуют удалить все индексы - тогда импорт идёт значительно быстрее.
После импорта, создадите их завново.

действительно я совсем забыл

действительно я совсем забыл удалить индексы.. спасибо большое, думаю щас все пройдет гораздо быстрее)

Можно еще констрейнты отключить

Если есть уверенность в импортируемых данных, то можно отключить все констрейнты:

ALTER TABLE tblname DISABLE TRIGGER USER

Импорт пойдет еще быстрее.

После импорта не забыть восстановить констрейнты:

ALTER TABLE tblname ENABLE TRIGGER USER

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023