حسنًا، لقد أصلحت المشكلة. قمت بالخطوات التالية
الدخول إلى الحاوية
./launcher enter app
الاتصال بقاعدة البيانات
su postgres -c 'psql discourse'
محاولة البحث عن التكرارات
discourse=# select * from incoming_referers where path LIKE '%/search/' ORDER BY incoming_domain_id;`
id | path | incoming_domain_id
------+------------+--------------------
3339 | /search/ | 33
6257 | /search/ | 91
1567 | /search/ | 298
1777 | /search/ | 341
3010 | /search/ | 418
6247 | /search/ | 418
4293 | /search/ | 644
2899 | /search/ | 653
3447 | /search/ | 793
3696 | /search/ | 852
4395 | /a/search/ | 1050
6968 | /search/ | 1305
5634 | /search/ | 1387
5834 | /search/ | 1437
6519 | /search/ | 1637
7127 | /search/ | 1787
7280 | /search/ | 1827
(17 rows)
حذف التكرار
DELETE FROM incoming_referers WHERE path LIKE '%/search/' AND id IN (6247);
ثم إعادة البناء
discourse=# REINDEX SCHEMA CONCURRENTLY public;
WARNING: cannot reindex invalid index "public.incoming_referers_pkey_ccnew" concurrently, skipping
WARNING: cannot reindex invalid index "public.index_incoming_referers_on_path_and_incoming_domain_id_ccnew" concurrently, skipping
WARNING: cannot reindex invalid index "pg_toast.pg_toast_20732_index_ccnew" concurrently, skipping
REINDEX
ثم أخذت نسخة احتياطية أخرى، ونسختها إلى الخادم الجديد، وتمت استيراده بنجاح ![]()
سيكون من الجيد لو كانت عملية النسخ الاحتياطي قادرة على اكتشاف التكرارات لتجنب أي مشاكل. لقد كنت محظوظًا لأنني كان لدي وصول إلى الخادم الأصلي الذي كان لا يزال يعمل. لو كنت أستعيد نسخة احتياطية باردة، لكان هذا على الأرجح يمثل مشكلة أكبر>
شكرًا جزيلاً لمساعدتك.