如何将一个大约4GB的CSV文件导入到PostgreSQL数据库?

7

目前,我使用的是PostgreSQL 11.2,并且有一个大约4GB的.csv文件。首先,我尝试创建一个临时表并选择所需的列来填充当前表。

create temporary table t (identification varchar, a1 text, a2 text, a3 text, a4 text, a15 text, a6 text, a7 text, a8 text)                       

copy t 
from 'C:\PostgreSqlData\mydata.csv'
delimiter ',' csv 

如果我获取一些较小的数据(约10MB),则不会出现任何错误。但是,当我尝试导入整个文件时,会出现以下错误:

无法统计文件“mydata.csv”:未知错误


你是在尝试使用命令行导入它吗? - Yassine CHABLI
我认为你需要尝试使用命令行。 - Yassine CHABLI
谢谢,但我是PostgreSql的初学者,所以我不知道如何从命令行运行命令以及要使用哪个目录来打开cmd。 - eaytan
2
你使用的是哪个操作系统? - Yassine CHABLI
尝试运行 select version(); 以查看您是否正在运行32位或64位版本。4 GB正好达到32位大小限制。您的Postgres客户端也是如此,我猜测是pgAdmin4。 - Schwern
显示剩余4条评论
1个回答

3
  • 首先检查是否已安装psql。

  • 打开终端。

  • 运行psql命令:

可以尝试这种方法。

psql -c "COPY tablename FROM 'C:\PostgreSqlData\mydata.csv' delimiter ',' csv;"

你使用的是哪个版本的psql? - Yassine CHABLI
psql(PostgreSQL)11.2 - eaytan
我发现在PostgreSQL 11中存在一个错误,请尝试使用版本10.5重试。 - Yassine CHABLI
它只是工作了,但是没有数据被导入到数据库中。 - Muhammad Waheed

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接