# Проблема PG::UniqueViolation при обновлении до 3.1.0.beta4

**URL:** <https://meta.discourse.org/t/pg-uniqueviolation-problem-during-3-1-0-beta4-upgrade/262163>\
**Category:** Self-hosting\
**Created:** [19.Апрель.2023 01:03:15 UTC](https://meta.discourse.org/t/pg-uniqueviolation-problem-during-3-1-0-beta4-upgrade/262163 "2023-04-19T01:03:15Z")\
**Posts on this page:** 1\
**Showing post:** 5

<div class="post-metadata">

**Author:** ![ahmedeldeep](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ahmedeldeep/32/121601_2.png) [@ahmedeldeep](https://meta.discourse.org/u/ahmedeldeep)\
**Post date:** [19.Апрель.2023 17:15:34 UTC](https://meta.discourse.org/t/pg-uniqueviolation-problem-during-3-1-0-beta4-upgrade/262163/5 "2023-04-19T17:15:34Z")

</div>

Спасибо, Джей.  
Мне удалось пересобрать систему и снова запустить свой сайт.

Как вы и советовали, решение заключается в повторении цикла: перестроить индекс, исправить ошибки и повторять до завершения. Я использовал следующую команду, чтобы узнать количество:

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

```

Она возвращала ноль.

Конечно, дубликатов было много, и я хотел узнать точное число. Поэтому я немного изменил запрос:

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

```

Это сработало и вернуло около 50 дубликатов. Я исправил их, перестроил индекс, и сборка прошла успешно.

---

_[View the full topic](https://meta.discourse.org/t/pg-uniqueviolation-problem-during-3-1-0-beta4-upgrade/262163)._
