我在postgres服务器上创建了一个名为“new_test”的表,我正在尝试从我的本地Mac上的一个名为“test.csv”的CSV文件复制到我的新表中。我的“new_test”表和我的“test.csv”文件都有一个名为“compkey”的列。我在csv文件中只有4行。可能psql命令如下:
\copy new_test(COMPKEY) from ‘TEST.csv’ with delimiter ‘,’ csv header;
但我不断收到此错误消息:‘TEST.csv’: No such file or directory
我已经尝试\cd
来找到正确的文件路径并确认我在\! ls
的正确文件夹中,看到列出了“TEST.csv”文件。我也尝试过Mac上的绝对路径,如下:
\copy new_test(COMPKEY) from '/Users/the/rest/of/the/file/path/TEST.csv’ with delimiter ‘,’ csv header;
...但我得到了同样的错误消息。我做错了什么或错过了什么?
答案 0 :(得分:1)
您缺少absoluta路径中的前导斜杠。它应该从root开始。因此以下应该有效:
\copy new_test(COMPKEY) from '/Users/the/rest/of/the/file/path/TEST.csv' with delimiter ',' csv header;
文章示例:https://www.linux.com/blog/absolute-path-vs-relative-path-linuxunix
绝对路径定义为指定文件的位置 或根目录(/)
中的目录