加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

postgresql – 将大型CSV加载到Postgres中

发布时间:2020-12-13 16:22:03 所属栏目:百科 来源:网络整理
导读:我正在尝试通过复制命令将大约100M记录(磁盘上大约8GB)的CSV加载到Postgres:使用CSV从’path / to / myfile.csv’复制mytable;我一直在通过检查pgAdmin中报告的表大小并将其与CSV大小进行比较来监视进度.我知道这最多只是一个松散的比较,我很想知道是否有更
我正在尝试通过复制命令将大约100M记录(磁盘上大约8GB)的CSV加载到Postgres:使用CSV从’path / to / myfile.csv’复制mytable;我一直在通过检查pgAdmin中报告的表大小并将其与CSV大小进行比较来监视进度.我知道这最多只是一个松散的比较,我很想知道是否有更好的方法来监控进度.

这是问题:这个负载已经持续了很长时间(我认为太长了),而且随着我不断检查表的大小,负载似乎正在减速.也就是说,现在加载新的100MB数据需要比以前在加载中更长的时间.为什么?

除了将我的CSV分解成许多小文件之外,我是否可以采用任何调整,配置或替代方法来实现更快的负载?

更新:架构/数据细节

一个代表性数据行:

1234567890,FOOBARF,2010-01-15 03:07:05,0.924700,0.925000

完整的架构定义:

CREATE TABLE mytable
(
  id integer NOT NULL,rname character varying(7) NOT NULL,ts timestamp without time zone NOT NULL,stat1 numeric NOT NULL,stat2 numeric NOT NULL,CONSTRAINT pk_id PRIMARY KEY (id)
)
WITH (
  OIDS=FALSE
);
ALTER TABLE mytable OWNER TO postgres;
如果你可以禁用索引,你可能会有更好的运气.但这并不是一个好的答案,因为您没有提供有关该表的足够信息.

请发布表定义,约束,索引!!!和触发器.

另外,您确定CSV数据是否正确且与您的表格匹配?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读