PostgreSQL ошибка при использовании pgAdmin4 для загрузки файла csv - PullRequest
0 голосов
/ 20 июня 2020

Я новичок в PostgreSQL.

Я создал тестовую таблицу с именем Activity со структурой столбцов, которая выглядит следующим образом:

id    Color    Dimension    Style    COUNT    SUM    Date

Я определил столбцы следующим образом:

id: bigint, первичный ключ, не ноль

Color: символы меняются 255

Dimension: символы меняются 255

Style: разные символы 255

COUNT: bigint

SUM: двойная точность

DATE: дата

Мой csv file имеет данные, которые выглядят следующим образом:

Color   Dimension    Style    COUNT    SUM    Date
Blue    Circle       Large    4        800    6/19/2020
Blue    Circle       Small    5        1500   6/19/2020
Blue    Square       Medium   1        15     6/19/2020

В pgAdmin4, I go с помощью следующих шагов:

  1. в дереве слева панели, я щелкаю правой кнопкой мыши по таблице действий и выбираю «Импорт / экспорт»
  2. в появившемся диалоговом окне, я переключаю флаг «Экспорт» на «Импорт»
  3. ищу имя файла и выберите его
  4. выберите формат «csv»
  5. выберите Заголовок = ДА

После нажатия «ОК» я вижу следующее сообщение об ошибке:

ERROR:  invalid input syntax for type bigint: "Blue"
CONTEXT:  COPY Trades, line 2, column id: "Blue"

Файл csv не поддерживает Сохраните столбец id (который является первичным ключом), потому что я понимаю, что PostgreSQL будет автоматически вставлять и увеличивать это число в зависимости от количества импортируемых мной записей.

Кто-нибудь понимает, почему я получаете сообщение об ошибке выше?

Заранее спасибо!

1 Ответ

1 голос
/ 20 июня 2020

Вы получаете сообщение об ошибке, потому что в вашем CSV-файле на один столбец (идентификатор) меньше, чем в таблице. Команда COPY (которая используется Import) не знает, что это поле имеет значение DEFAULT. В диалоговом окне «Импорт» должна быть вкладка «Столбцы», на которой можно выбрать столбцы из CSV.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...