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

PGAdmin导入Supabase导出CSV时timestamp空值报错如何解决

解决PGAdmin导入CSV时timestamp字段空字符串报错问题

问题重现

导入Supabase导出的CSV时遇到PostgreSQL报错:

ERROR: invalid input syntax for type timestamp: ""
CONTEXT: COPY User, line 2, column emailVerified: ""

CSV示例:

"id","name","email","emailVerified","image"
"abc123","Guy Man","guyt@man.com","","https://pic.com"

emailVerified为timestamp类型,Supabase导出空值时用""(带引号的空字符串),但PostgreSQL不接受空字符串作为timestamp值,手动跳过该字段录入可正常保存。

可行解决方案

方案1:修改CSV文件的空值格式

将CSV中所有""替换为无引号的NULL,修改后的CSV如下:

"id","name","email","emailVerified","image"
"abc123","Guy Man","guyt@man.com",NULL,"https://pic.com"

注意:必须是无引号的NULL,带引号的"NULL"会被识别为字符串,依然报错。

方案2:使用PGAdmin导入时的高级参数设置

在PGAdmin导入向导的Options选项卡中,做以下设置:

  • 在Null String输入框填入""(双引号包裹的空字符串)
  • 确保Quote选项设置为"(和CSV的引号格式一致)
  • 完成后续步骤即可导入

方案3:用SQL COPY命令手动导入(最可靠)

直接在PGAdmin的SQL编辑器中执行COPY命令,灵活控制空值解析规则:

COPY "User" (id, name, email, emailVerified, image)
FROM '/absolute/path/to/your/file.csv'
DELIMITER ','
CSV HEADER
QUOTE '"'
NULL '';
  • NULL ''表示将CSV中去掉引号后的空字符串解析为PostgreSQL的NULL值
  • "User"是PostgreSQL保留字,必须用双引号包裹
  • 注意替换为CSV文件的绝对路径(远程服务器需确保文件在服务器可访问路径)

为什么之前的尝试失败?

如果之前将CSV中的""改成"NULL",PostgreSQL会把它当作字符串"NULL"而非NULL值,依然不符合timestamp类型要求;若PGAdmin的Null设置填的是NULL而非"",也无法匹配CSV中的空字符串格式。

内容的提问来源于stack exchange,提问作者atomic-ag

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 23:45:04