#sql #postgresql #pgadmin #pgadmin-4
#sql #postgresql #pgadmin #pgadmin-4
Вопрос:
Я создал таблицу, используя следующую инструкцию в pgAdmin4
create table web_data(
timestamp TIMESTAMP WITHOUT TIME ZONE,
device_type VARCHAR(50),
session_id VARCHAR(100),
customer_id VARCHAR(150),
url VARCHAR(100),
purchase_id VARCHAR(100)
);
В результате получается следующая таблица
При импорте файла CSV возвращается ошибка 1, указывающая, что в столбце customer_id временная метка недопустима, однако в этом столбце временная метка не указана. Полная ошибка:
ERROR: time zone "f3285a42f7199" not recognized
CONTEXT: COPY web_data, line 2, column datum: "122048f3285a42f7199"
Кажется, что 122048 идентифицируется как отметка времени, а f3285a42f7199 идентифицируется как часовой пояс, хотя на самом деле это просто длинная строка, идентифицирующая клиента.
Как я могу настроить таблицу так, чтобы я мог вставить свою полную таблицу.
Комментарии:
1. Вам нужно исправить, какие столбцы в данных сопоставляются с какими столбцами в таблице. Что-то не так.
2. Согласно @GordonLinoff вам нужно будет привести порядок столбцов в файле CSV в соответствие с порядком столбцов в таблице. Либо измените порядок в файле CSV, либо укажите порядок столбцов в самой
COPY
команде для каждой КОПИИ . Пока вы находитесь, я бы изменил имяtimestamp
поля на что-то, что не соответствует имени типа. Это избавит вас от путаницы позже.