CREATE TABLE llil_raw ( name text, count bigint ); -- INDEX makes it *way* slower --CREATE INDEX llil_raw_idx ON llil_raw(name); COPY llil_raw (name, count) FROM '/home/cavac/src/long_list_is_long/big1.txt' ( FORMAT TEXT); COPY llil_raw (name, count) FROM '/home/cavac/src/long_list_is_long/big2.txt' ( FORMAT TEXT); COPY llil_raw (name, count) FROM '/home/cavac/src/long_list_is_long/big3.txt' ( FORMAT TEXT); CREATE TABLE llil_result ( name text, count bigint ); INSERT INTO llil_result (name, count) SELECT name, sum(count) AS total FROM llil_raw GROUP BY name ORDER BY total; COPY llil_result (name, count) TO '/home/cavac/src/long_list_is_long/result.txt' ( FORMAT TEXT); DROP TABLE llil_result; DROP TABLE llil_raw;