CSV 파일의 데이터를 PostgreSQL 테이블로 가져옵니다.CSV에서 PostgreSQL 대량 가져 오기가 실패했습니다. 오류 : 정수에 대한 입력 구문이 잘못되었습니다. "1990-01-02"
표는 다음과 같습니다 : 나는 psql의의 CLI에서 COPY
명령을 호출 할 때
CREATE TABLE foo_stats (
td DATE NOT NULL,
ins_id INTEGER CHECK (ins_id > 0) NOT NULL,
df_id INTEGER CHECK (df_id > 0) NOT NULL,
pc REAL NOT NULL DEFAULT 0.0,
ph REAL DEFAULT 0.0 NOT NULL,
pl REAL DEFAULT 0.0 NOT NULL,
av REAL DEFAULT 0.0 NOT NULL,
cv BIGINT DEFAULT 0 NOT NULL,
avi REAL DEFAULT 0.0 NOT NULL,
cmi BIGINT DEFAULT 0 NOT NULL,
vwp REAL CHECK (vwp >= 0) NOT NULL,
atr REAL NOT NULL DEFAULT -99999,
pv REAL NOT NULL DEFAULT -99999,
pr REAL NOT NULL DEFAULT -99999,
PRIMARY KEY (ins_id, df_id, td)
);
는 대량 복사하기 전에, 내가 여기
ALTER TABLE DROP CONSTRAINT PRIMARY KEY
는 CL의 흔적이다 사용하여 기본 키를 드롭 :
mydb=# COPY foo_stats FROM '/path/to/data/foo_stats.csv' WITH CSV;
ERROR: invalid input syntax for integer: "1990-01-02"
CONTEXT: COPY foo_stats, line 1, column id: "1990-01-02"
mydb=#
입력 CSV 파일의 처음 몇 줄과 같은 모습입니다 :
"1990-01-02",388,3,-99999,0.913,0.91,0.0,0,0.0,0,0,-99999,-99999,-99999
"1990-01-02",388,4,-99999,0.913,0.91,0.0,0,0.0,0,0,-99999,-99999,-99999
"1990-01-02",388,1,-99999,0.913,0.91,0.0,0,0.0,0,0,-99999,-99999,-99999
"1990-01-02",388,7,-99999,0.913,0.91,0.0,0,0.0,0,0,-99999,-99999,-99999
"1990-01-02",388,6,-99999,0.913,0.91,0.0,0,0.0,0,0,-99999,-99999,-99999
입력 파일의 데이터 열은 테이블 스키마와 동일한 순서로 있습니다. 아무도 왜 오류 메시지가 나타납니다 설명 할 수 있습니까?
PS : 나는 우분투 10.0.4 LTS에
여기에 뭔가가 없습니다. 방금 정의를 사용하여 테이블을 만들었고 샘플 데이터를 파일에 복사 한 다음'COPY foo_stats FROM 'c : \ tmp \ foo_stats.csv'CSV;와 함께 가져 왔습니다. – vyegorov