2017-04-10 19 views

答えて

3

CockroachDBにCSVファイルを取得する最も簡単な方法は、CSVの各行をSQL​​ INSERT文に変換するCSV to SQLコンバータを使用することです。これを行うウェブサイトをいくつでも見つけることができます。また、awk、Perl、Pythonなどの処理を行うスクリプトを作成することもできます。あなたはSQLにファイルにINSERT文を持ってたら、そのようにそれらを実行することができます。

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

を別の方法として、あなたはPostgresがインストールされている場合、あなたはpsqlを通じてCockroachDBに接続し、インポートするそのCOPYコマンドを使用することができますCSV。

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

あなたのローカルマシン上のデフォルトのポートでCockroachDBを実行している場合は、ここに充填されたデフォルト値を持つ同じコマンドがあります:

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

Postgresは私のためのdidnt仕事をゴキブリするコマンド負荷をコピー中にこの程度開いて問題があります。このアプローチはドキュメンテーションでも言及されていないので、実際にはサポートされていないと仮定しています。しかし、pgdumpリストアはサポートされています。 –

1

ゴキブリはそれもないDELIMITER文をサポートしていません。

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

COPY FROMを使用するために右のコマンドは次のようになりますので、明示的な CSV形式を受け入れません

区切り文字 CSVファイルを区切り文字として,を使用している場合、特殊な文字\tがそうである、あなたはsedを使用して簡単に変換することができますする必要があります。

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

を彼らは区切り文字として特殊文字\tをハードコーディングする理由,の代わりに私の知識を超えています。

はすでにhttps://github.com/cockroachdb/cockroach/issues/16407

関連する問題