2017-04-10 3 views

답변

3

CSV 파일을 CockroachDB로 가져 오는 가장 쉬운 방법은 CSV의 각 행을 SQL INSERT 문으로 변환하는 CSV to SQL 변환기를 사용하는 것입니다. 이를 위해 임의의 수의 웹 사이트를 찾을 수도 있고, awk, Perl 또는 Python과 같은 방식으로 처리 할 스크립트를 작성할 수도 있습니다. 당신은 당신의 SQL을 파일에 INSERT 문을했으면, 그렇게처럼 그들을 실행할 수 있습니다

cockroach sql --database=[your db] < [file].sql 

을 양자 택일로, 당신은 포스트 그레스가 설치되어있는 경우, 당신은 psql 통해 CockroachDB에 연결하고를 가져 오기 위해 COPY 명령을 사용할 수 있습니다 CSV.

psql postgres://[email protected]:26257/DATABASE -c "COPY [table] FROM '[path to].csv' DELIMITER ',' CSV;" 
+0

postgres의 나를 위해 didnt 한 일을 바퀴벌레 명령로드를 복사에서이 약 개방 문제가있다. 이 접근 방식은 문서에서도 언급되지 않았으므로 실제로 지원되지 않는다고 가정하고 있습니다. pgdump 복원이 지원됩니다. –

1

는 바퀴벌레가도 않는 DELIMITER 문을 지원하지 않습니다 로컬 컴퓨터에 기본 포트에서 CockroachDB를 실행하는 경우

psql postgres://[email protected]:PORT/DATABASE -c "COPY [table] FROM '[path to].csv' DELIMITER ',' CSV;" 

, 여기에 작성 기본값과 같은 명령입니다

psql postgres://[email protected]:port/DATABASE -c "COPY [table] FROM '[path to].csv';"

: 위해 올바른 명령이 될 것 COPY FROM를 사용하는 것은 아니므로는 CSV 형식으로 명시 적으로 허용 그들은 구분 기호로 특수 문자 \t를 하드 코딩 왜

sed -i 's/,/\t/g' [your file].csv

을 :

은 구분 기호 문자 CSV 파일이 구분 기호로 ,를 사용하는 경우 그래서, 당신은 쉽게 나오지 사용하여 변환 할 수있는 특수 문자 \t해야합니다 , 대신 내 지식이 있습니다.

이미 https://github.com/cockroachdb/cockroach/issues/16407