Wypróbuj kroki opisane w tym artykule:Usuwanie duplikatów z bazy danych PostgreSQL.
Opisuje sytuację, w której masz do czynienia z ogromną ilością danych, których nie można group by
.
Prostym rozwiązaniem byłoby to:
DELETE FROM foo
WHERE id NOT IN (SELECT min(id) --or max(id)
FROM foo
GROUP BY hash)
Gdzie hash
jest czymś, co się duplikuje.