DO $$
DECLARE
  f TEXT;
BEGIN
  FOR f IN SELECT pg_catalog.pg_ls_dir('/tmp/json')
  LOOP
    IF right(f, 5) = '.json' THEN
      BEGIN
        RAISE NOTICE 'Import du fichier : %', f;

        INSERT INTO item (id, caracteristiques)
        VALUES (
            replace(f, '.json','')::bigint,
            pg_read_file('/tmp/json/' || f)::jsonb
        )
        ON CONFLICT (id) DO UPDATE
        SET caracteristiques = EXCLUDED.caracteristiques;

      EXCEPTION WHEN OTHERS THEN
        RAISE WARNING 'Erreur lors de l''import du fichier % : %', f, SQLERRM;
      END;
    END IF;
  END LOOP;
END;
$$ LANGUAGE plpgsql;
