Albo wstępnie przetworzyć plik CSV, albo (co prawdopodobnie bym zrobił) zaimportować do tymczasowej kopii tabeli docelowej i INSERT
tylko wybrane kolumny w drugim kroku:
CREATE TEMP TABLE tmp AS SELECT * FROM target_table LIMIT 0;
ALTER TABLE tmp ADD COLUMN etra_column1 text
, ADD COLUMN etra_column2 text; -- add excess columns
COPY tmp FROM '/path/tp/file.csv';
INSERT INTO target_table (col1, col2, col3)
SELECT col1, col2, col3 FROM tmp -- only reelvant columns
WHERE ... -- optional, to also filter rows
Tabela tymczasowa jest automatycznie usuwana na koniec sesji. Jeśli przetwarzanie trwa dłużej, użyj zwykłej tabeli.