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

PostgreSQL新手求助:导入CSV至pgAdmin4时触发‘relation "opioid_csv"不存在’错误

解决PostgreSQL导入CSV时"relation does not exist"的问题

1. 先检查表名的大小写问题

PostgreSQL默认会把没加双引号的表名转成小写。如果你建表的时候用了大写字母(比如CREATE TABLE Opioid_CSV (...)),那COPY的时候必须给表名套双引号,不然数据库找不到它:

COPY "Opioid_CSV"(Substance, Source, Specific_Measure, Type_event, Region, PRUID, Time_Period, Year_Quarter, Aggregator, Disaggregator, Unit, Value)
FROM '/Users/myusername/Desktop/opioid_csv.csv'
DELIMITER ',';

要是你确定表名就是全小写的opioid_csv,直接跳过这步,查下面的问题。

2. 确认你连对了数据库和模式

  • 打开pgAdmin的查询工具时,要确保选的是你建表的那个数据库,别连错库了。
  • 如果表不在默认的public模式里,得在表名前面加上模式名,比如表在my_schema下:
COPY my_schema.opioid_csv(...)
FROM '/Users/myusername/Desktop/opioid_csv.csv'
DELIMITER ',';

或者先执行SET search_path TO my_schema;切换默认搜索的模式,再跑COPY语句。

3. 先确认表真的存在

在查询工具里跑这条SQL,看看当前数据库里有没有你的表:

SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';

要是查不到opioid_csv,说明你之前建表的操作可能没成功,得重新建表。

4. 额外注意:文件路径和权限的坑

就算表的问题解决了,服务器端的COPY可能还会因为权限读不到你桌面的文件:

  • 路径必须写绝对路径,macOS下要加开头的/,也就是/Users/myusername/Desktop/opioid_csv.csv,不能少了最前面的斜杠。
  • 嫌权限麻烦的话,直接用pgAdmin的可视化导入:右键点目标表,选Import/Export Data,选你桌面的CSV文件,分隔符设成逗号,因为CSV没表头,把Header选项勾成"否",点执行就行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 19:30:33