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

PostgreSQL COPY命令报错及CSV文件导入问题求助

问题解决步骤

一、先修复COPY命令的语法错误

你原来的SQL命令存在3个问题:

  • DELIMITER后面用了中文引号‘,’,必须改成英文引号','
  • 命令末尾多余的**要删除
  • 不要在COPY命令内部加注释,避免干扰语法解析

修正后的服务器端COPY命令(需文件在服务器上):

COPY population(year, age, ethnic, sex, area, count)
FROM '/home/postgres/Popdata.csv'
DELIMITER ','
CSV HEADER;

二、解决文件找不到的问题

你的PostgreSQL运行在Linux环境(\! pwd显示路径为/home/postgres),而你指定的是Windows本地路径C:\Users\Zadane\Downloads\Popdata.csv,服务器无法直接访问Windows的本地文件,有两种解决方式:

方式1:将CSV文件传到Linux服务器

  1. 把Windows下载文件夹里的Popdata.csv传到Linux服务器的/home/postgres目录(可用scp、FileZilla等工具传输)
  2. 给文件添加postgres用户可读权限:
chmod 644 /home/postgres/Popdata.csv
  1. 执行上面修正后的COPY命令即可

方式2:使用psql客户端的\copy命令(无需传文件到服务器)

\copy是psql客户端命令,会从你的Windows本地读取文件并导入,适合跨系统场景,直接执行以下命令:

\copy population(year, age, ethnic, sex, area, count)
FROM 'C:\Users\Zadane\Downloads\Popdata.csv'
DELIMITER ','
CSV HEADER;

三、关于手动导入7-8万条记录

不推荐用手动INSERT语句导入,7-8万条记录会非常耗时且容易出错。COPY或\copy是PostgreSQL官方推荐的批量导入方法,效率远高于逐条INSERT,完全能处理这个量级的数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 22:00:23