Загружается ли команда COPY CSV в Redshift в порядке, определенном в заголовках? - PullRequest
0 голосов
/ 03 сентября 2018

У меня есть код, который вытягивает CSV из S3 в таблицу Redshift. У меня возникают проблемы, при которых, если CSV хранится в определенном порядке столбцов, команда копирования не соответствует порядку столбцов в заголовке CSV.

Так что, если у меня есть CSV со столбцами id|age|name и у меня есть таблица Redshift со столбцами id|name|age, она будет пытаться получить данные в порядке заголовка CSV. Так что в этом случае он попытается вставить столбец с именем CSV в столбец возраста в Redshift, что приведет к ошибке типа.

Мой запрос:

copy schema.#tmp from <s3file> 
iam_role <iamrole> 
acceptinvchars 
truncatecolumns
IGNOREBLANKLINES
ignoreheader 1
                  COMPUPDATE OFF
                  STATUPDATE OFF
                  delimiter ','
                  timeformat 'auto'
                  dateformat 'auto';

Нужно ли определять порядок столбцов в команде копирования, чтобы они соответствовали двум?

1 Ответ

0 голосов
/ 03 сентября 2018

COPY игнорирует имена столбцов в файле; столбцы сопоставляются слева направо.

Но вы можете указать список столбцов в операторе COPY. Используйте это, чтобы сообщить PostgreSQL порядок столбцов в файле.

...