2016-06-09 20 views
0

Ich habe eine harte Zeit bekommen pgloader zu arbeiten, während Sie versuchen, die TARGET COLUMNS optionale Argumente zu verwenden.pgloader kann nicht importieren, während Verwendung von ZIELSÄULEN

LOAD CSV 
      FROM INLINE 
        HAVING FIELDS 
        (
          npi, 
          ... 
        ) 
      INTO postgresql://user:[email protected]/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; 

Wenn ich die Zielspalten nicht verwende, dann funktioniert es gut. tempload hat genau die gleichen Spalten wie data.csv.

Jedesmal, wenn ich es laufen hängt es an diesem Punkt:

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 

ich bei einem Totalverlust bin. Wie gesagt, es funktioniert gut, wenn ich TARGET COLUMNS nicht verwende, also glaube ich wirklich nicht, dass es die Daten sind.

Ich bekomme das gleiche mit Release 3.2 und das Docker-Image.

Antwort

0

Es stellt sich heraus, dass das Problem mit der Menge an Speicher zu tun hat. Ich wechselte zu SET work_mem = '512' und es begann über diesen Punkt hinaus zu kommen. Ich denke, das hat mit dem Gesicht zu tun, dass ich 330 Spalten importieren muss.