Il modo più veloce per eseguire l'inserimento in blocco da un file CSV in PostgreSQL è con Copia . Il comando COPY è ottimizzato per l'inserimento di un numero elevato di righe.
Con Java puoi utilizzare l'Copia implementazione per il driver JDBC PostgreSQL
C'è un piccolo esempio di come usarlo qui:come copiare un dato da un file a PostgreSQL usando JDBC?
Se hai un CSV con intestazioni, vorresti eseguire un comando simile a questo:
\COPY mytable FROM '/tmp/mydata.csv' DELIMITER ';' CSV HEADER
Un altro miglioramento delle prestazioni quando si aggiungono grandi quantità di dati a una tabella esistente consiste nell'eliminare gli indici, inserire i dati e quindi ricreare gli indici.