无法将 CSV 文件导入 PostgreSQL

时间:2021-05-02 15:03:24

标签: postgresql pgadmin postgresql-13

总结

我无法将 CSV 文件导入 PostgreSQL 上的表中。 即使它说导入已成功完成,也没有创建任何行。 这是怎么发生的,我该如何解决?谢谢。

详情

1.我(未能)导入的 CSV 文件是这样的 1. CSV file imported

| number | ticket     | category  | question                 | answer                | url            | note     |
|--------|------------|-----------|--------------------------|-----------------------|----------------|----------|
| 1      | #0000000   | Temp>123  | *confirming*             | Would you...?         | https:///....a | -        |
| 2      | #1234567   | AAA / BBB | "a" vs "b"               | If A, "a". If B, "b". | https:///....b | #0000000 |
| 3      | #1234567-2 | AAA>abc   | Can we do sth using "a"? | Yes, blah blah blah.  | https:///....b | -        |

这是 PostgreSQL 上的表

  • numberr : 数字
  • ticketr : 字符
  • 类别:字符[]
  • 问题:字符
  • 答案:字符
  • 网址:字符
  • 注意:字符

2.\ 导入后的消息 即使它说导入“成功完成” 当我点击导入弹出窗口的“更多详细信息”时 (3. Message - Completed) --command " "\\copy public.test (\"number\", ticket, category, question, answer, url, note) FROM '/Users/alice/Desktop/test.csv' DELIMITER ',' CSV HEADER ENCODING 'UTF8' QUOTE '\"' ESCAPE '''';""

3.当我确定文件被实际导入时的消息

  • 当我点击“Count Rows”时,它显示“Table rows counted: 0”
  • 我在表的查询工具中尝试了以下脚本,但它显示没有创建行
SELECT * FROM (table name)

参考

截图

4. No row created / 1. CSV file imported / 2. Import Preference / 3. Message - Completed / 5. postgres_log

2 个答案:

答案 0 :(得分:0)

2. Import Preference 图像处检查标签中的列设置

就在 options 标签上

在那里你应该像在你的文件中一样设置列顺序

还要在 more details 处检查 3. Message - Cpmpleted

答案 1 :(得分:0)

将列的名称从“数字”更改为“连续”后,查询工具中显示错误消息(而不是导入/导出中)

  1. 尝试使用查询工具代替导入/导出 --> 情况没有改变

  2. 在 csv 和 psql 表中将第一列名称从“number”更改为“constructive” --> 情况没有改变

  3. 尝试查询工具 复制 public.test (consecutive, ticket, category, question, answer, url, note) FROM '/Users/alice/Desktop/test5.csv' DELIMITER ',' CSV HEADER ENCODING 'UTF8' QUOTE '"' ESCAPE ''' ';"" --> 情况没有改变

  4. 尝试查询工具 复制 public.test (consecutive, ticket, category, question, answer, url, note) FROM '/Users/alice/Desktop/test5.csv' DELIMITER ',' CSV HEADER ENCODING 'UTF8' —> 收到错误信息 错误:无法打开文件“/Users/alice/Desktop/test5.csv”进行阅读:权限被拒绝 提示:COPY FROM 指示 PostgreSQL 服务器进程读取文件。您可能需要一个客户端工具,例如 psql 的 \copy。 SQL 状态:42501

相关问题