Ошибка обновления 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 строк)

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

Отлично! Я и сам не сразу вспомнил про count(*).