2.7.0.beta2 업그레이드 실패: ERROR: duplicate key

가장 쉬운 방법은 웹 인터페이스에서 DRC를 DRC1(또는 다른 이름)으로 변경하는 것입니다(그리고 게시글의 @ 참조도 함께 수정되는 것 같습니다?). username_lower는 계산된 값이므로 변경할 필요가 없습니다.

반전이 있습니다. 웹 GUI에서 두 사용자 중 누구를 클릭하든, 항상 그중 한 명(가장 먼저 등록된, ID가 가장 낮은 사용자)의 프로필 정보만 표시됩니다. 이 중복 문제로 인해 웹 GUI조차 혼란에 빠진 것 같습니다.

최신 사용자를 이름 변경하려고 했었는데, 사용자명을 먼저 등록한 사람이 우선권을 가진다고 생각했기 때문입니다. 하지만 GUI에서 그런 옵션을 제공하지 않습니다.

이 모든 것이 저를 매우 불안하게 만들고 있습니다. 다시 한 번 백업을 하는 것이 좋겠다고 생각합니다.

맞습니다. GUI는 인덱스를 사용하며, 이는 첫 번째 항목을 반환합니다(인덱스에 있는 항목이므로).

아마도 rails에서 새 사용자를 이름 변경할 것 같습니다. 여기까지가 제 무료 지원 범위입니다. 예제를 찾지 못하거나 다른 사람이 도움을 주지 않는다면, 예산이 있으시다면 jay@literatecomputing.com으로 이메일을 보내주세요.

제 경우 문제는 중복된 사용자였습니다. 따라서 이를 중심으로, 제가 잘 작동했던 방법으로 중복 사용자를 찾는 방법은 다음과 같았습니다:

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

이것은 중복 목록과 각 항목의 개수를 제공했습니다.

 username_lower | count 
----------------+-------
 jagger         |     2
 richards       |     2
 patrick        |     2
 peter          |     2
 jagman         |     2
(5 rows)

이것들을 수정한 후, 성공적으로 재인덱싱을 실행할 수 있었고, 그 후 성공적으로 재구축을 수행했습니다.

좋아요! count(*)를 바로 떠올리지 못했거든요.