我有一個大的文本文件,每行有一列,我想將這個數據文件導入到Postgres中。Postgres導入文件,其中有以新行分隔的列
我有一個可用的MySQL腳本。
LOAD DATA LOCAL
INFILE '/Users/Farmor/data.sql'
INTO TABLE tablename
COLUMNS TERMINATED BY '\n';
我該如何翻譯成Postgres?我嘗試過其他命令。
COPY tablename
FROM '/Users/Farmor/data.sql'
WITH DELIMITER '\n'
但是它抱怨:
ERROR: COPY delimiter must be a single one-byte character
''\ n''是一個兩個字符的字符串(取決於字符串設置和PostgreSQL版本),你想說'E'\ n'來得到換行符。但是這可能會讓你得到一個「COPY分隔符不能換行或回車」的錯誤,因爲如果PostgreSQL使用相同的分隔符,PostgreSQL將無法區分列和行之間的區別。我猜你必須將數據文件轉換爲其他佈局(甚至可能將其加載到MySQL中,然後將其從SQL中或CSV轉儲)。 –
你是對的。我會採取轉儲方式或寫一個perl腳本。奇怪的是,Postgres無法弄清楚,一個10列的表格會每隔10行有一個新行。讓你的評論成爲答案,這樣我就可以接受它。 – Farmor
任何指針,建議https://stackoverflow.com/questions/45414536/multiple-column-copy-format-postgresql-node-js –