2011-09-27 17 views
3

我想用postgres使用COPY FROM命令導入一個csv文件。在postgres中使用COPY FROM - 本地文件的絕對文件名

的數據庫存儲在Linux服務器上,我的數據存儲在本地,即C:\ test.csv

我不斷收到錯誤:

錯誤:無法打開文件「C: \ test.csv「的閱讀:沒有這樣的文件或目錄 SQL狀態:58P01

我知道我需要使用服務器可以看到的文件名的絕對路徑,但我嘗試的所有內容都會導致相同的錯誤

任何人都可以幫忙ASE? 感謝來自PostgreSQL手冊

回答

5

報價:

The file must be accessible to the server and the name must be specified from the viewpoint of the server

所以,你需要將文件複製到服務器,然後才能使用COPY FROM。

如果您無法訪問服務器,則可以使用psql的\ copy命令,它與COPY FROM非常相似,但可以與本地文件一起使用。詳情請參閱手冊。

+0

謝謝,psql \ copy是我需要的外觀:) – leddy

+0

在Docker容器中的Postgres DB:Docker(從版本1.8開始)支持直接將文件複製到容器(docker cp source_path :container_path)如果沒有共享卷,這是很有用的。之後,Postgres COPY FROM可以訪問container_path中容器中的文件。 – bvanlew

相關問題