
Ich lade Daten aus dem Dateisystem in Postgres. Ich habe 500 Millionen Einzeldateien, in jeder Datei 1 JSON. Um mit Postgres effizienter zu sein, möchte ich diese in Stapeln und nicht als einzelne Dateien laden. Im Moment habe ich diese Schleife:
time for i in datafiles/*; do psql -c "\copy json_parts(json_data) FROM $i"& done
Können Sie mir bitte helfen, hier „Batch-Fähigkeiten“ hinzuzufügen? Ich bin nicht gut in Bash. Ich nehme an, es wird eine Art äußere Schleife benötigt, die nur sagen wir mal 40 Dateien auf einmal nimmt und dann Trennzeichen zwischen ihnen einfügt, damit Postgres weiß, dass es sich um separate Zeilen handelt? Ich spiele mit
ls|head -$j| tail -40
als äußere Schleife, aber wie gesagt, ich bin nicht kompetent ...