#postgresql
#postgresql
Вопрос:
В моей таблице есть столбец NOT NULL с именем ‘created’ с CLOCK_TIMESTAMP ПО УМОЛЧАНИЮ(). В моем CSV-файле, из которого я копирую намеренно, нет столбца с именем «создано», потому что я хочу, чтобы база данных использовала для него значение по умолчанию. Моя команда копирования:
copy table_name from '/local/path/to/file.csv' delimiter ',' CSV HEADER
Ошибка, которую я получаю,:
missing data for column "created_"
В документации PostgreSQL говорится: «Если в таблице есть какие-либо столбцы, которых нет в списке столбцов, COPY FROM вставит значения по умолчанию для этих столбцов».
Спасибо за любую помощь
Ответ №1:
Подсказка находится в «которых нет в списке столбцов«.
Для этого необходимо указать «список столбцов» и исключить значение по умолчанию:
copy table_name (column1, column2, ...) from '/local/path/to/file.csv' delimiter ',' CSV HEADER
Комментарии:
1. Это сделало свое дело — я думал, что ключевое слово HEADER просто указало ему использовать столбцы заголовка CSV в качестве моего списка. Возможно, я отправлю запрос на уточнение документации…