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

PSQL \copy导入报错:额外数据无法导入,非自增UUID列生成问题

解决PostgreSQL COPY导入CSV的UUID自动生成与格式错误问题

一、解决CSV导入的格式错误

你遇到的ERROR: extra data after last expected column错误,是因为CSV每行格式为,a、,aah,会被PostgreSQL解析为两个字段(第一个为空值,第二个是目标word内容),但你指定只导入word列,导致PostgreSQL判定存在多余数据。

解决方法:调整\copy命令,明确映射输入字段到表列,忽略第一个空字段:

\copy words (word) FROM '/data/words4.csv' WITH (FORMAT CSV) (dummy, word);

这里dummy用来接收每行的第一个空字段,word对应表的word列,即可避免格式报错。

二、让PostgreSQL自动生成UUID类型的id值

你的id列是UUID类型且非空,但未设置默认值,所以导入时无法自动生成UUID。需要先配置表结构:

  1. 启用UUID生成扩展(如果未启用):
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
  1. 修改id列,添加自动生成UUID的默认值:
ALTER TABLE public.words ALTER COLUMN id SET DEFAULT uuid_generate_v4();

完成以上配置后,再次执行\copy命令时,PostgreSQL会自动为每一行生成唯一的UUID填充id列,无需手动提供。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 19:32:36