PostgreSQL COPY命令执行失败:schema不存在问题求助
PostgreSQL COPY命令导入CSV报错“schema不存在”的解决办法
问题根源:标识符大小写敏感
PostgreSQL默认会把未加双引号的标识符(schema、表名等)自动转为小写。你通过pgAdmin能成功导入数据,说明创建SqlProject这个schema时是用**带双引号的"SqlProject"**定义的,直接写SqlProject会被数据库转为小写sqlproject,自然找不到对应的schema。修正后的COPY语句
将schema和表名用双引号包裹,保留原有的大小写格式:
COPY "SqlProject"."CovidVaccinations" FROM '/Users/brucebeck/Desktop/RDBMS_Work/ATA_PortfolioProject1/CovidVaccinations.csv' DELIMITER ',' CSV HEADER;
- 额外注意事项
- 要确保PostgreSQL服务进程(一般以postgres用户运行)拥有该CSV文件的读取权限,否则可能触发权限报错。可以调整文件权限,或者把文件移动到PostgreSQL默认能访问的目录(比如数据库的data目录)。
- 如果是通过远程连接操作数据库,不能直接使用本地文件路径,需要改用psql客户端的
\copy命令,它会从你的本地机器读取文件并上传到服务器执行导入:\copy "SqlProject"."CovidVaccinations" FROM '/Users/brucebeck/Desktop/RDBMS_Work/ATA_PortfolioProject1/CovidVaccinations.csv' DELIMITER ',' CSV HEADER;
内容的提问来源于stack exchange,提问作者BEB_1963
相关产品推荐
相关产品推荐

