и через insert into .. select * from table?
В tsv-дампе постгреса было 44984945 строк
После загрузки через клиент в таблице КХ их оказалось 44984941
А после перегона в идентичную таблицу через insert-select в конечной таблице их оказалось 44984938
С чем может быть связано?
Ошибок клиент не выдавал, записи все были подготовленны заранее под нужный формат
Понимаю что на 45кк потеря не велика, но все же
Какой движок?
Попробуйте вставить данные в аналогичнкю таблицу, но с движком MergeTree. Будет хоть с чем сравнивать. Сделав join найдете пропавшие записи
Нет, всегда вставка 1 к 1. Если не было сообщения об ошибке - то есть, если запрос INSERT SELECT выполнился успешно - все данные будут вставлены. Какие могут быть случаи, когда возникают похожие ошибки: - вставка текстового дампа, в котором есть строки с переводом строки, экранированные как abc\ def. Тогда количество строк, отображаемое wc -l, будет фактически больше реального. - вставка в Distributed таблицу, которая развозит данные асинхронно. - вставка в ReplicatedMergeTree полностью повторяющихся блоков данных, которые дедуплицируются; - вставка в таблицу, которая меняет количество строк при мерже, типа Collapsing, Replacing... - вставка в Distributed таблицу с неправильной конфигурацией кластера - например, internal_replication = 1 при использовании не-Replicated таблиц; или когда перепутали шарды и реплики; - вставка в Replicated таблицу и чтение данных с отстающих реплик; - вставка в Buffer таблицу и чтение из обычной таблицы.
Обсуждают сегодня