
Estou carregando dados do sistema de arquivos para o postgres. Tenho 500 milhões de arquivos únicos, 1 json em cada arquivo. Para ser mais eficiente com o postgres, quero carregá-los em lotes, não como arquivos únicos. Por enquanto eu tenho esse loop:
time for i in datafiles/*; do psql -c "\copy json_parts(json_data) FROM $i"& done
Você poderia me ajudar a adicionar "capacidades de lote" aqui? Eu não sou proficiente em bash. Suponho que seja necessário algum tipo de loop externo que pegue apenas, digamos, 40 arquivos por vez e adicione um delimitador entre eles para que o postgres saiba que são linhas separadas. estou brincando com
ls|head -$j| tail -40
como loop externo, mas como disse, não sou proficiente ...