Я не думаю, что вы можете заставить COPY FROM иметь дело с разным количеством столбцов внутри одного и того же файла.
Если это всегда те же 10 столбцов, которые отсутствуют, обходной путь можетсначала нужно загрузить все в промежуточную таблицу с одним столбцом text
.
После этого вы можете использовать SQL, чтобы разделить строку и извлечь столбцы, что-то вроде этого:
INSERT INTO target_table (col1, col2, col3, col4, col5, ...)
SELECT columns[1], columns[2], ...
FROM (
SELECT string_to_array(big_column, ',') as columns
FROM staging_table
) t
WHERE array_length(columns) = 10
и затем сделайте то же самое с array_length(columns) = 20