PostgreSQL импорт из файла

216
29 декабря 2021, 18:40

Какой самый быстрый способ импортировать файл CSV в базу данных кроме COPY. Данных очень много, около 125 млн записей.

Загружаются они по крону раз в день. Парсить и заливать по одной строке не айс. Дифф никак не получить, только файл целиком со всеми записями. Все это на Symfony, если как то поможет или есть встроенные инструменты.

Answer 1

Единственный быстрый способ загрузить такое кол-во записей в базу, это использовать команду COPY

COPY table(column1, column2) FROM 'list_data.csv' DELIMITER ',' CSV HEADER;

Для 125 млн записей импорт занимает около минуты. эта команда требует прав root. Для запуска без прав администратора есть мета команда \copy

\copy table(column1, column2) FROM '/path/to/csv/data.csv' DELIMITER ',' CSV
READ ALSO
PHP код ревью участки повторяются

PHP код ревью участки повторяются

у меня есть такой вот рабочий код, ну кажется я сделал что-то не так, подскажите пожалуйста как можно улучшить качество кода:

236
Как упростить добавление новых правил для Valitron или помощь с ООП от знающих?

Как упростить добавление новых правил для Valitron или помощь с ООП от знающих?

Есть такой симпатичный валидатор - Valitron, добавление новых правил в нем реализуется вот как:

96
Посчитать содержимое массива

Посчитать содержимое массива

Помогите, не могу решить следующую задачу на выборку из вложенных массивов

96
MYSQL LEFT JOIN on each value JSON

MYSQL LEFT JOIN on each value JSON

Прошу помощи (mysql 57) В связи с большим количеством данных в таблице было принято решение хранить связи ячеек не в отдельной таблице как обычно...

101