Импорт файла CSV в таблицу psql - PullRequest
0 голосов
/ 16 апреля 2019

У меня есть CSV-файл с 2 столбцами, один столбец идентификатор, а другой имя.Нет заголовка CSV.

"5138334","Here's Where the Story Ends"
"36615796","W31CZ-D"
"10283436","Elliant"
"8773661","Dobos torte"
"33139146","RTP Informação"
"2846867","The Legend of the Rollerblade Seven"
"36001757","Prescription Monitoring Program"
"2574520","Greg Wells"
"4498288","Catonsville Community College"
"15429275","Nozières"
"31736463","Bályok"

как мне вставить это в таблицу psql?

Я попытался создать таблицу.

create table csvtable(id bigserial not null primary key, 
                      csv_id int not null, 
                      csv_title varchar(100) not null);

и другие варианты без столбца id (Iпопытался создать свой собственный идентификатор на тот случай, если существующий идентификатор не был уникальным)

, и я попытался вставить данные с помощью команды копирования.

copy csvtable from 'file.csv' with csv;

и других вариантов с разделителем и т. д.но не повезло.

1 Ответ

2 голосов
/ 22 апреля 2019

Вам необходимо указать, какие столбцы вы копируете:

\copy csvtable(csv_id, csv_title) FROM 'data.csv' WITH (FORMAT csv)

Обратите внимание, что при этом используется \copy из psql, а не COPY (что может не потребоваться, если файл находится на том же сервере).

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