2016-06-09 1 views
0

J'ai du mal à faire fonctionner pgloader en essayant d'utiliser les arguments optionnels TARGET COLUMNS.pgloader ne peut pas importer en utilisant TARGET COLUMNS

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; 

Si je n'utilise pas les colonnes cibles, cela fonctionne très bien. tempload a exactement les mêmes colonnes que data.csv.

Chaque fois que je le lance, il raccroche à ce moment:

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 

Je suis à une perte totale. Comme je l'ai dit, cela fonctionne très bien si je n'utilise pas TARGET COLUMNS, donc je ne crois vraiment pas que ce soit les données.

Je reçois la même chose avec la version 3.2 et l'image du docker.

Répondre

0

Il s'avère que le problème concerne la quantité de mémoire. J'ai changé à SET work_mem = '512' et il a commencé à dépasser ce point. Je suppose que cela a à voir avec le visage que j'ai 330 colonnes à importer.