You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PgAdmin导入CSV文件到表时报错找不到文件该如何解决?

PgAdmin导入CSV报错58P01问题解答

报错触发原因

该报错由服务端COPY FROM命令的执行逻辑导致:
COPY FROM是PostgreSQL的原生SQL命令,由PostgreSQL服务器进程直接执行读取文件的操作,出现报错常见原因如下:

  • PostgreSQL服务运行在远程服务器上,无法访问你本地电脑D盘的文件路径
  • 即使PostgreSQL服务运行在本地,服务进程的运行账号没有D盘根目录的读取权限,或是你填写的文件路径有误,对应路径下确实不存在book.csv文件

解决方案

方案1:使用PgAdmin自带的图形化导入工具(最推荐)

这是PgAdmin用户最简单的操作方式,走客户端侧文件读取逻辑,不需要服务端访问本地文件:

  • 打开PgAdmin,在左侧导航栏找到你要导入数据的目标表,右键点击选择导入/导出数据
  • 在弹出的配置窗口中选择「导入」,文件名选择你本地的D:\book.csv,再根据CSV的实际配置调整编码、字段分隔符、是否包含表头等参数,点击确认即可完成导入

方案2:使用psql的\copy命令(适合命令行用户)

\copy是psql提供的客户端侧命令,由本地客户端读取文件后传给服务端,不需要服务端拥有文件访问权限,参考命令如下:

\copy 目标表名 FROM 'D:\book.csv' WITH (FORMAT csv, HEADER true, DELIMITER ',', ENCODING 'utf8');

你可以根据自己CSV的实际情况调整参数:HEADER true代表CSV第一行是表头,DELIMITER指定字段分隔符,ENCODING指定文件编码。

方案3:继续使用服务端COPY FROM命令

如果一定要用原生COPY FROM命令,需要同时满足两个条件:

  • 将book.csv文件上传到PostgreSQL服务运行的服务器上,填写服务端可识别的绝对路径,Windows环境下注意路径反斜杠需要转义,可写成'D:\\book.csv'或者'D:/book.csv'
  • 给PostgreSQL服务的运行账号开放该csv文件的读取权限

内容的提问来源于stack exchange,提问作者user16904508

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:57:04