Infinite loop during postgres upgrade

لقد واجهت هذه المشكلة أثناء آخر ترقية من PostgreSQL 13 إلى 15.

في عملية النشر الخاصة بنا، يتم تحميل الدليل /shared/postgres_data الخاص بنا على جهاز تخزين NVMe أسرع، لذلك فشلت عملية النقل برسالة خطأ “الجهاز أو المورد مشغول”.

لقد قمنا بإصلاح هذا عن طريق تصحيح قالب postgres على النحو التالي:

diff --git a/templates/postgres.template.yml b/templates/postgres.template.yml
index c24bfe6..03813c4 100644
--- a/templates/postgres.template.yml
+++ b/templates/postgres.template.yml
@@ -139,8 +139,10 @@ run:
           fi

-         mv /shared/postgres_data /shared/postgres_data_old
-         mv /shared/postgres_data_new /shared/postgres_data
+         mkdir /shared/postgres_data_old
+         mv /shared/postgres_data/* /shared/postgres_data_old
+         mv /shared/postgres_data_new/* /shared/postgres_data
+         rmdir /shared/postgres_data_new

بدلاً من محاولة معالجة الدليل نفسه، فقط قم بنقل المحتويات.

يرجى النظر في دمج هذا التغيير لتحسين موثوقية ترقيات قاعدة البيانات.

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