A maneira mais rápida de inserir em massa de um arquivo CSV no PostgreSQL é com Copiar . O comando COPY é otimizado para inserir um grande número de linhas.
Com Java você pode usar a Copiar implementação para o driver PostgreSQL JDBC
Há um pequeno exemplo de como usá-lo aqui:como copiar dados de um arquivo para o PostgreSQL usando JDBC?
Se você tiver um CSV com cabeçalhos, execute um comando semelhante a este:
\COPY mytable FROM '/tmp/mydata.csv' DELIMITER ';' CSV HEADER
Outro aumento de desempenho ao adicionar grandes quantidades de dados a uma tabela existente é descartar os índices, inserir os dados e, em seguida, recriar os índices.