If you're de-duping a whole table, no need to create indexes, as it's
gonna have to hit every row anyway. Fastest way I've found has been:
select a,b,c into newtable from oldtable group by a,b,c;
On pass, done.
If you want to use less than the whole row, you can use select
distinct on (col1, col2) * into newtable from oldtable;