新用户无法加入论坛,接受邀请导致内部服务器错误

救命!
我是 PractiTest 中 Discuss 论坛的管理员。

最近新用户无法登录,他们收到错误消息“出了点问题,用户名或电子邮件可能已注册。请尝试使用忘记密码链接。”
当我邀请新用户时,他们会收到邀请电子邮件,但在填写所有详细信息后会显示“内部服务器错误”消息。
我检查了错误日志,这是我在尝试接受邀请时看到的内容:

ActiveRecord::RecordNotUnique (PG::UniqueViolation: ERROR: duplicate key value violates unique constraint \"user_emails_pkey\" DETAIL: Key (id)=(45) already exists. ) app/models/invite_redeemer.rb:80:

Failed to handle exception in exception app middleware : PG::UniqueViolation: ERROR: duplicate key value violates unique constraint \"user_emails_pkey\" DETAIL: Key (id)=(45) already exists.

我尝试升级到最新的 Discourse 版本,并且似乎成功了(2.9.0.beta1)。

请帮忙!

您是从哪个版本升级的?PostgreSQL 是什么版本?

不记得了,但这是我在日志中找到的:

from_version: 11d61cb
repository: /var/www/discourse/plugins/docker_manager

以及如何检查 Postgres 版本?

还有其他我可以提供的信息吗?

有人吗?
我将非常感谢任何指导
@pfaffman

我认为没有人提供答案是因为没有好的答案。

Postgres 版本在
/var/discourse/shared/standalone/postgres_data/PG_VERSION
或者类似的地方。我正在用手机。

听起来你有一个损坏的索引,我很久没见过了。解决方案是尝试重建索引,如果失败则删除或修复重复条目。这需要了解一些关于 SQL、索引和 Discourse 的知识。

你可以搜索“损坏的索引”。

也可能是别的原因。我以为在 postgres 13 上没有人遇到过这种情况。你的论坛运行多久了?

非常感谢,顺便说一句,这很有帮助!

1 个赞