Problema PG::UniqueViolation durante o upgrade para 3.1.0.beta4

Obrigado, Jay.
Consegui reconstruir e colocar meu site online novamente.

Primeiro, como você sugeriu, a solução é reindexar, corrigir e repetir até terminar. Usei o seguinte comando para ver quantos:

SELECT username_lower, count(*) from users GROUP by username_lower HAVING count(*) > 1;

ele estava me retornando zero.

Claro, existem muitos duplicados e eu queria saber quantos. então ajustei ligeiramente a consulta:

SELECT username_lower, count(username) from users GROUP by username_lower HAVING count(username) > 1;

Isso funcionou e retornou cerca de 50 duplicados, então eu os corrigi, reindexei e reconstruí com sucesso.