Опитайте стъпките, описани в тази статия:Премахване на дубликати от PostgreSQL база данни.
Той описва ситуация, когато трябва да се справите с огромно количество данни, които не е възможно да group by .
Едно просто решение би било следното:
DELETE FROM foo
WHERE id NOT IN (SELECT min(id) --or max(id)
FROM foo
GROUP BY hash)
Където hash е нещо, което се дублира.