2016-08-11 73 views
3

我試試這個:PostgreSQL的找不到文件名複製命令指定

COPY gemeenten 
    FROM 'D:\CBS_woningcijfers_2014.csv' 
    DELIMITER ';' CSV 

,並得到這個:

ERROR: could not open file "D:\CBS_woningcijfers_2014.csv" for reading: No such file or directory 

我一倍的反斜槓,嘗試過的E弦,更換\由/,使用「而不是',但現在我已經用完了選項,我確定這個文件存在,任何人有任何想法嗎?

+3

你的文件和你的PostgreSQL實例在同一臺機器上嗎? – Nicarus

+0

關於一個不相關的問題,分號是分號還是CSV文件?答案/評論@Nicarus給出的是最可能的問題。 – Hambone

回答

5

如果文件和PostgreSQL數據庫在同一臺機器上,那麼路徑和/或名稱該文件不正確。

如果文件位於本地計算機上且數據庫位於另一臺計算機上,則不能在SQL中使用COPY命令。你有兩個主要的選擇,使這項工作:

1)使用psql \copy從您的本地機器。語法相似,但它將從本地傳輸到遠程。該文檔相當有用:https://www.postgresql.org/docs/9.5/static/app-psql.html#APP-PSQL-META-COMMANDS-COPY

2)將文件上傳到遠程機器,然後執行您的命令。只要確保你引用了正確的路徑和文件名即可。

+1

很好的答案。我已經向PostgreSQL郵件列表發佈了一個補丁,以幫助用戶解決這個問題,因爲這遠遠不是我第一次看到它。希望它能進入PostgreSQL 10.0; 9.6現在已經太晚了。鏈接:https://www.postgresql.org/message-id/CAMsr+YEqtD97qPEzQDqrCt5QiqPbWP_X4hmvy2pQzWC0GWiyρι[email protected] –

相關問題