我有一個從MySQL數據庫導出的CSV文件,我想將它移到CockroachDB。如何從命令行讀取數據?如何將CSV文件導入CockroachDB?
2
A
回答
3
將CSV文件導入CockroachDB的最簡單方法是使用CSV轉換器將CSV中的每一行轉換爲SQL INSERT
語句。你可以找到任何數量的網站爲你做這件事,或者你可以建立一個腳本來處理類似awk,Perl或Python的處理。另外
cockroach sql --database=[your db] < [file].sql
,如果已安裝的Postgres,您可以通過psql
連接到CockroachDB並使用其COPY
命令導入:一旦你有你的SQL文件中的INSERT
語句,你可以像這樣執行它們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;"
1
蟑螂不支持DELIMITER
聲明確實也不接受CSV
格式明確,從而以正確的命令來使用COPY FROM
是:
psql postgres://[email protected]:port/DATABASE -c "COPY [table] FROM '[path to].csv';"
的分隔符必須是特殊字符\t
因此,如果您的CSV文件使用,
作爲分隔符,你可以很容易地使用SED將其轉換:
sed -i 's/,/\t/g' [your file].csv
爲什麼他們硬編碼特殊字符\t
作爲分隔符超出我的知識範圍而不是,
。
Postgres的複製命令負載蟑螂沒有工作對我來說這個開放式問題。這種方法在文檔中也沒有提到,所以我認爲它不是真的支持。但是pgdump恢復是受支持的。 –