المستخدمون الجدد غير قادرين على الانضمام إلى المنتدى، قبول الدعوة يؤدي إلى خطأ داخلي في الخادم

مساعدة!
أنا مسؤول عن منتدى Discuss في PractiTest.

مؤخرًا، لا يمكن للمستخدمين الجدد تسجيل الدخول، ويتلقون رسالة خطأ “حدث خطأ ما، ربما اسم المستخدم أو البريد الإلكتروني مسجل بالفعل. جرب رابط نسيت كلمة المرور”.
عندما أدعو مستخدمين جددًا، يتلقون البريد الإلكتروني للدعوة، ولكن بعد ملء جميع التفاصيل، تظهر رسالة “خطأ داخلي في الخادم”.
لقد تحققت من سجلات الأخطاء، وهذا ما أراه لمحاولة قبول الدعوة:

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.

لقد حاولت الترقية إلى أحدث إصدار من Discource، ويبدو أنني تمكنت من ذلك (2.9.0.beta1).

من فضلكم ساعدوني!

ما هو الإصدار الذي كنت تقوم بالترقية منه؟ ما هو إصدار بوستجريس؟

لا أتذكر، ولكن هذا ما تمكنت من العثور عليه في السجلات:

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

وكيف يمكنني التحقق من إصدار Postgres؟

هل هناك أي معلومات أخرى يمكنني تقديمها؟

هل من أحد؟
سأكون ممتنًا جدًا لأي توجيه في هذا الشأن
@pfaffman

أعتقد أنه لم يقدم أحد إجابات لأنها لا توجد إجابات جيدة.

إصدار Postgres موجود في
/var/discourse/shared/standalone/postgres_data/PG_VERSION

أو شيء من هذا القبيل. أنا على هاتفي.

يبدو أن لديك فهرسًا تالفًا، وهو ما لم أره منذ فترة. الحل هو محاولة إعادة بناء الفهرس وإذا فشل، حذف أو إصلاح الإدخالات المكررة. يتطلب فهم بعض الأشياء حول sql والفهارس و discourse.

يمكنك البحث عن “corrupt index”

يمكن أن يكون شيئًا آخر. اعتقدت أن هذا لم يحدث لأي شخص على postgres 13. كم عمر منتدىك.

شكرا جزيلا بالمناسبة، هذا ساعد!

إعجاب واحد (1)