Xử lý trước tệp CSV hoặc (những gì tôi có thể sẽ làm) nhập vào bản sao tạm thời của bảng đích và INSERT
chỉ các cột được chọn trong bước thứ hai:
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
Bảng tạm thời sẽ tự động bị xóa vào cuối phiên. Nếu quá trình xử lý mất nhiều thời gian hơn, hãy sử dụng bảng thông thường.