在尝试使用TARGET COLUMNS可选参数时,我很难让pgloader正常工作。
LOAD CSV
FROM INLINE
HAVING FIELDS
(
npi,
...
)
INTO postgresql://user:pass!n@pg2/nadb?tablename=tempload
(
npi
)
WITH skip header = 1,
fields optionally enclosed by '"',
fields escaped by double-quote,
fields terminated by ','
SET work_mem to '64MB'
BEFORE LOAD EXECUTE
tempload.sql;如果我不使用目标列,那么它就可以正常工作。tempload与data.csv具有完全相同的列。
每次我运行它时,它都会在这一点挂起:
2016-06-09T17:17:33.749000-05:00 DEBUG
select i.relname,
n.nspname,
indrelid::regclass,
indrelid,
indisprimary,
indisunique,
pg_get_indexdef(indexrelid),
c.conname,
pg_get_constraintdef(c.oid)
from pg_index x
join pg_class i ON i.oid = x.indexrelid
join pg_namespace n ON n.oid = i.relnamespace
left join pg_constraint c ON c.conindid = i.oid
where indrelid = 'tempload'::regclass我完全不知所措。正如我所说的,如果我不使用TARGET COLUMNS,它就可以正常工作,所以我真的不相信是数据。
我在release 3.2和docker镜像中也得到了同样的结果。
发布于 2016-06-10 21:02:03
事实证明,这个问题与内存大小有关。我改成了SET work_mem = '512',它开始超过这一点。我猜这与我有330列要导入的面有关。
https://stackoverflow.com/questions/37737223
复制相似问题