تحديث PostgreSQL 15

[اقتباس=“Firepup650, post:151, topic:349515”]
.s.PGSQL.50432"
[/اقتباس]

إذًا في مكان ما قمت بتغيير منفذ (port) بوستجريس (postgres) إلى 50432 بدلًا من 5432؟ (أو ربما يفعل رمز الترحيل ذلك ولم ألاحظ ذلك أبدًا).

ربما قم بالتبديل إلى قالب (template) بوستجريس 13 (postgres13) كما هو مقترح في المشاركة الأصلية؟ وإذا نجح ذلك، ما أود فعله هو الانتقال إلى خادم جديد وتجنب مشكلة الانتقال إلى إصدار بوستجريس (postgres) جديد واستعادة قاعدة البيانات ببساطة إلى الخادم الجديد.

إعجابَين (2)

لم أقم بتغييره، وهذا المقبس موجود بالفعل، لذا… :person_shrugging:

لقد فعلت ذلك في الوقت الحالي، لكنني أفترض أن هذه فكرة سيئة على المدى الطويل

سأخبر الشخص الذي يدير الخادم بذلك

إعجابَين (2)

إذًا ربما يقوم بتشغيل اثنين من قواعد بيانات postgres لإجراء النقل.

صحيح، لكنني مرتاح لأنك عدت!

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

ليس لدي مساحة كافية لتنفيذ هذا التحديث على قسم Discourse الخاص بي. ومع ذلك، لدي مساحة كبيرة على محرك أقراص آخر. هل هناك طريقة لاستخدام هذا للتخزين المؤقت؟

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

ربما حان الوقت لإجراء ترقية لنظام التشغيل على أي حال، والانتقال إلى جهاز ظاهري جديد أسهل بكثير، ويتطلب القليل من وقت التعطل، وإذا حدث خطأ ما، فلا يزال لديك خادم يعمل.

إذا كان لديك حاوية بيانات منفصلة، فيمكنك محاولة نقل كل ‎/var/discourse/shared/data إلى القسم الآخر وتعديل وحدات التخزين في ملف YML الخاص بك وفقًا لذلك.

وإذا لم يكن لديك حاوية منفصلة، فيمكنك فعل شيء من هذا القبيل، الأمر أكثر تعقيدًا بعض الشيء.

إعجابَين (2)

لدي مشكلة مماثلة (هل هي نفسها؟). هل قمت بفحص السجل المذكور؟

في حالتي: عندما كنت أقوم بالتحديث، واجهت مشكلة أولاً في أن حاوية التطبيق (في حالتي، الويب فقط) لن تتم إعادة بنائها لأنني أضفت استطلاع RSS كمكون إضافي مخصص ويبدو أن هذا يتعارض مع الإعدادات الافتراضية الجديدة. بعد إزالة ذلك، نجح الأمر.

ولكن بعد ذلك واجهت مشاكل مع امتداد المتجه المفقود. كان ذلك بسبب أنني لم أعد بناء حاوية البيانات منذ فترة. تمكنت من القيام بذلك إلى 13 الآن، ولكن الآن عالق مع تشغيل 13، عندما أقوم بتغيير data.yaml الخاص بي إلى postgres.template أو postgres.15.template، يفشل الترحيل.

في البداية فشل مع “إغلاق غير نظيف” ومع التلميحات المذكورة أعلاه تمكنت من حل هذه المشكلة. ولكن الآن يفشل الترحيل، حيث يبدو أنه يفتقد تثبيت 13؟ ربما يرتبط هذا ببعض البقايا في الدليل /shared؟ (لقد حاولت بالفعل تنظيف دليل postgres_new).


-----------------------------------------------------------------
  تم تشغيل pg_upgrade يوم الجمعة 17 أكتوبر 09:54:37 2025
-----------------------------------------------------------------

الأمر: "/usr/lib/postgresql/13/bin/pg_ctl" -w -l "/shared/postgres_data_new/pg_upgrade_output.d/20251017T095437.518/log/pg_upgrade_server.log" -D "/shared/postgres_data" -o "-p 50432 -b -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgresql'" start >> "/shared/postgres_data_new/pg_upgrade_output.d/20251017T095437.518/log/pg_upgrade_server.log" 2>&1
الانتظار لبدء الخادم....2025-10-17 09:54:37.744 UTC [1900] LOG: بدء PostgreSQL 13.22 (Debian 13.22-1.pgdg12+1) على x86_64-pc-linux-gnu، تم تجميعه بواسطة gcc (Debian 12.2.0-14+deb12u1) 12.2.0، 64 بت
2025-10-17 09:54:37.749 UTC [1900] LOG: الاستماع على مقبس Unix "/var/lib/postgresql/.s.PGSQL.50432"
2025-10-17 09:54:37.760 UTC [1900] LOG: تعذر فتح ملف التكوين "/etc/postgresql/13/main/pg_hba.conf": لا يوجد مثل هذا الملف أو الدليل
2025-10-17 09:54:37.760 UTC [1900] FATAL: تعذر تحميل pg_hba.conf
2025-10-17 09:54:37.762 UTC [1900] LOG: تم إيقاف تشغيل نظام قاعدة البيانات
 توقف الانتظار
pg_ctl: تعذر بدء الخادم
افحص مخرجات السجل.

ما سأفعله على الأرجح هو العودة إلى PG13 بالحاوية القديمة (إذا كان بإمكانك معرفة ذلك) ثم عمل نسخة احتياطية والانتقال إلى خادم جديد (من المحتمل أنك بحاجة إلى نظام تشغيل جديد على أي حال).

يبدو أن الحاوية التي لديك في حالة معطلة. هل تحاول إعادة البناء باستخدام قالب PG13؟ قد تحتاج إلى نقل مجلد النسخ الاحتياطي لـ postgres إلى postgres_data والعودة إلى 13 لاستئناف الأمور مرة أخرى.

نعم، أنا أعمل حاليًا مع حاوية PG13. لقد قمت بإعادة بنائها عدة مرات. لقد قمت أيضًا بتنظيف الدليل _new المعلق. فقط في كل مرة أحاول الانتقال إلى 15 أو القالب الرسمي غير المرقم، يفشل الأمر. سأقوم بترحيله يدويًا قريبًا إذا لم يتم إصلاح هذا بنفسه. لا أرى كيف يكون نظام التشغيل ذا صلة هنا.

سأعيد هيكلة وحدة التخزين الخاصة بك بحيث تكون الدليل Shared أو shared/postgres بأكمله على نفس وحدة التخزين، ثم لن تكون إعادة تسمية الدليل (وهي مطلوبة بانتظام) مشكلة بعد الآن.

قد لا يكون الأمر متعلقًا بالمشكلة المباشرة. غالبًا ما يحدث أنه إذا كنت تشغل Discourse لفترة كافية وتحتاج إلى ترقية PostgreSQL، فمن المحتمل أن تكون بحاجة أيضًا إلى ترقية نظام التشغيل.

الانتقال إلى خادم جديد يتيح لك الانتقال بأقل قدر ممكن من وقت التوقف عن العمل وبدون خطر الوقوع في حالة معطلة.

من ناحية أخرى، فإن معظم الترقيات التي قمت بتشغيلها باستخدام برنامجي النصي (الذي يقوم فقط بما هو موصوف هنا) تمت دون مشكلة.

أعتقد أنك ستنتقل إلى الإصدار غير المرقم، ثم تقوم بإعادة البناء.

لقد فعلت ذلك، ولا يعمل أيضًا، وكلاهما يفشل. لذلك سأقوم بذلك يدويًا

تم تقسيم 8 مشاركات إلى موضوع جديد: مشكلة في ترقية postgres 15