使用TARGET COLUMNS时,pgloader无法导入

时间:2016-06-09 22:29:33

标签: postgresql pgloader

在尝试使用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;

如果我不使用目标列,那么它可以正常工作。 temploaddata.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,它的工作正常,所以我真的不相信这是数据。

我对发布3.2和泊坞窗图片也有同样的看法。

1 个答案:

答案 0 :(得分:0)

原来这个问题与内存量有关。我改为SET work_mem = '512',它开始超越这一点。我想这与我要导入330列的面部有关。