Vyzkoušejte kroky popsané v tomto článku:Odstranění duplikátů z databáze PostgreSQL.
Popisuje situaci, kdy se musíte vypořádat s velkým množstvím dat, která není možné group by
.
Jednoduché řešení by bylo toto:
DELETE FROM foo
WHERE id NOT IN (SELECT min(id) --or max(id)
FROM foo
GROUP BY hash)
Kde hash
je něco, co se duplikuje.