فشل الترقية PG::UniqueViolation -- تعذر إنشاء فهرس فريد "unique_post_links_ccnew"

I’ve got a standard install that is failing to upgrade to 2.8.0.beta2 with this error:

PG::UniqueViolation: ERROR:  could not create unique index "unique_post_links_ccnew"

it’s from

I, [2021-06-25T18:35:47.756688 #1]  INFO -- : == 20210525112226 RemoveLengthConstrainFromTopicLinkUrl: migrating ============

It doesn’t look like a corrupt index.

Does this help?

[6] pry(main)> TopicLink.where(url: bad_url).pluck(:id, :topic_id, :post_id, :user_id)
=> [[15733, 14351, 63616, 911], [16131, 14505, 63986, 911], [27141, 14505, 63986, 1152]]

I ended up just appending a badX to the duplicate URLs and then it worked. I’m not quite clear what problems this might generate in the future…

الكثير من أخطاء تلف الفهرس التي يطلق عليها “مستحيلة” في الإصدارات القديمة من Postgres، حسب تجربتنا. هل ما زلت ترى هذا؟

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

أعتقد أنني لم أرها منذ الترقية إلى pg12.

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

لقد ذهبنا إلى PG13، وأعتقد أن هذا حل المشكلة (الفهارس التالفة) إلى حد كبير بالنسبة لنا @sam؟

إعجابَين (2)

@saj توصل إلى حل لهذه المشكلة. لقد قمنا بحلها في البنية التحتية الخاصة بنا. وقد تجاوز معظم المستضيفين الذاتيين الأمر بالفعل.

الآلية التي استخدمناها في الماضي لترقية PG في صورتنا مفتوحة المصدر كانت بها بعض المشكلات المتعلقة بالسلامة بسبب تغيير libc تحت الغطاء بين إصدارات PG.

أعتقد أن المشكلة قد اختفت الآن إلى حد كبير في النظام البيئي الأوسع، على الرغم من أن بعض الترقيات القديمة قد لا تزال تواجهها. سيكون من الكابوس إصلاح البرنامج النصي الحالي لترقية المصدر المفتوح والتعامل مع المصفوفة الهائلة لترقيات PG.

ومع ذلك، على الأقل نحن على دراية تامة بمصدر المشكلة الآن ونحن في وضع أفضل لمعالجتها في المستقبل.

إعجابَين (2)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.