【发布时间】:2022-05-05 21:48:56
【问题描述】:
我正在尝试将数据从 csv 导入 postgres。我尝试了以下方法并收到以下错误:
Copy TA_Files
FROM 'C:\Users\ABla47\Documents\TA 11.19.21.csv'
DELIMITER ','
CSV HEADER;
错误:无法打开文件“C:\Users\ABla47\Documents\TA 11.19.21.csv" 供阅读:权限被拒绝
提示:COPY FROM 指示 PostgreSQL 服务器进程读取一个 文件。您可能需要一个客户端工具,例如 psql 的 \copy。
SQL 状态:42501
然后我尝试了:
\Copy TA_Files
FROM '\Documents\TA 11.19.21.csv'
DELIMITER ','
CSV HEADER;
错误:“”处或附近的语法错误
第 1 行:\复制 TA_Files
谁能帮我知道我需要使用什么格式将数据从 csv 获取到表格中?
谢谢
【问题讨论】:
-
\copy命令必须是单行,例如\Copy TA_Files FROM ... -
喜欢这个? \Copy TA_Files FROM '\Documents\TA 11.19.21.csv' DELIMITER ',' CSV HEADER 我仍然遇到语法错误...
-
将该命令与语法错误一起添加到您的问题中。虽然我注意到选项之间没有逗号。
-
忘记了关于逗号的部分,我意识到这是仍然允许的旧语法。如果我没记错的话,即使您在 Windows 上,您也需要执行
'/Documents/TA 11.19.21.csv'。我没有要测试的 Windows 安装。 -
\copy只能在psql中直接使用,您不能在 PL/pgSQL 或其他 SQL 客户端中使用它
标签: postgresql csv copy plpgsql psql