2013-07-10 77 views
0

我試圖使用「COPY」命令將製表符分隔值文件導入到PostgreSQL數據庫中。問題是失敗與錯誤消息將文件導入到PostgreSQL時出錯

ERROR: invalid byte sequence for encoding "UTF8": 0x00 

壞線可在this file找到一條線。

當我嘗試導入這個單行文件時,它仍然失敗。

我試圖打開文件,但它看起來像一個普通的文本文件,我無法找到解決這個問題。該表的架構看起來像

CREATE TABLE osm_nodes (
    id BIGINT, 
    longitude double precision, 
    latitude double precision, 
    tags TEXT 
); 

我用下面的命令將文件複製

貓bad_lines2 | PSQL -c「COPY osm_nodes FROM STDIN WITH DELIMITER'「」

(注:上面的定界符製表符)

我使用(PostgreSQL的)9.2.3。

感謝您的幫助。

回答

0

我發現了錯誤。該文本包含「\ 09」,它被翻譯爲一個製表符並導致了這個問題。每個「\」應該被「\」轉義,以便可以正確插入。