
Estoy cargando datos del sistema de archivos a postgres. Tengo 500 millones de archivos individuales, 1 json en cada archivo. Para ser más eficiente con postgres, quiero cargarlos en lotes, no como archivos individuales. Por ahora tengo este bucle:
time for i in datafiles/*; do psql -c "\copy json_parts(json_data) FROM $i"& done
¿Podría ayudarme a agregar "capacidades por lotes" aquí? No soy competente en bash. Supongo que se necesita algún tipo de bucle externo que tome solo, digamos, 40 archivos a la vez y luego agregue un delimitador entre ellos para que postgres sepa que son filas separadas. estoy jugando con
ls|head -$j| tail -40
como bucle externo, pero como dije, no soy competente...