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