Команда COPY в Vertica сама сопоставит столбцы CSV с таблицей.
Предположим, что файл csv /tmp/t1.csv выглядит следующим образом:
col1,col2,col3
1,100,a
2,200,b
3,300,c
Затем выМожно создать таблицу в Vertica и использовать COPY с DELIMITER ',':
=> create table table1(v_col1 int, v_col2 int, v_col3 varchar);
CREATE TABLE
=> copy table1 from '/tmp/t1.csv' delimiter ',';
Rows Loaded
-------------
3
=> select * from table1;
v_col1 | v_col2 | v_col3
--------+--------+--------
1 | 100 | a
2 | 200 | b
3 | 300 | c
(3 rows)
Дополнительные примеры копирования см. в приведенном ниже документе: https://www.vertica.com/docs/9.2.x/HTML/Content/Authoring/SQLReferenceManual/Statements/COPY/COPYExamples.htm
(Изменить в комментариях) IУ меня нет ответа на требование «отображения», но я думаю, что есть обходной путь для достижения этого.
После того, как файл csv был скопирован в таблицу с тем же числом столбцов, вы можете создать новую таблицу, выбрав нужные столбцы.
Например, вы можете создать новую таблицу (с именем table2), в которой есть только первые 2 столбца из table1:
=> create table table2 as select v_col1,v_col2 from table1;
CREATE TABLE
=> select * from table2;
v_col1 | v_col2
--------+--------
2 | 200
1 | 100
3 | 300
(3 rows)