0

在尝试使用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,所以我真的不相信这是数据。

我对 release3.2和 docker 映像也有同样的看法。

4

1 回答 1

0

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

于 2016-06-10T13:02:03.327 回答