2014-01-17 5 views
1

데이터베이스에 가져 오려는 파일이 *.csv입니다. 기본적으로는 다음과 같습니다 내가 사용하고csv 파일을 postgresql로 가져 오기

2013.11.07,11:50,1.35163,1.35167,1.35161,1.35163,15 
2013.11.07,11:51,1.35166,1.35173,1.35165,1.35170,21 
2013.11.07,11:52,1.35170,1.35170,1.35163,1.35163,11 

:

DROP TABLE table; 

CREATE TABLE table 
(
id SERIAL primary key, 
Date Date, 
Time Time, 
Open double precision, 
High double precision, 
Low double precision, 
Close double precision, 
Volume bigint 
); 

COPY table FROM 'C:\\Users\\user\\EURUSD1.txt' DELIMITER ',' CSV; 

을 나는 날짜에 얻고 그러나 :

ERROR: invalid input syntax for integer: "07/11/2013" CONTEXT: COPY eurusd_m1, line 1, column id: "07/11/2013"

는 정말 그 문제를 해결하는 방법에 대한 당신의 도움을 주셔서 감사합니다?

+0

파일 형식과 테이블 열 순서가 열 수와 일치하지 않습니다. 로드하려는 데이터와 같은 표를 만들어야합니다. – Abhinav

+0

답장을 위해 @Abhinav Thx! 그러나, 그건 맞지 않아! 'create' 문의 컬럼의 수는 csv와 일치합니다 ('id'는'SERIAL'입니다). 내가 틀렸다면 보여주세요! – user2051347

+1

오류를 살펴보면 오류가 아닌 것 같습니다. 오류 : COPY 명령이 날짜 데이터를'id' 열에 지정하려고합니다. – Abhinav

답변

3

id이 연속적이라해도로드 할 때 무시되는 것은 아닙니다. copy 문에 열을 지정해야합니다. 예 :

COPY table (Date, Time, Open, High, Low, Close, Volume) 
    FROM 'C:\\Users\\user\\EURUSD1.txt' DELIMITER ',' CSV; 
관련 문제