سيقوم سكريبت الترقية بالتحقق من المساحة الحرة ولن يواصل العمل إلا إذا كان ذلك آمناً.
هناك خطوتان خلال العملية حيث قد تصبح مساحة القرص حرجة. إذا تجاوزت فحص المساحة الحرة، فهذه هي النقاط التي قد تواجه فيها مشكلات:
- عند تشغيل pg_dump لاستخراج البيانات من قاعدة البيانات القديمة (يُطلب ضعف مساحة تخزين قاعدة البيانات في هذه المرحلة).
- عند تشغيل pg_restore لإدراج البيانات مرة أخرى في قاعدة البيانات الجديدة (يُطلب ثلاثة أضعاف مساحة تخزين قاعدة البيانات في هذه المرحلة).
للانتعاش من هذه الحالة، ستحتاج إلى إزالة /shared/postgres_dump و /shared/postgres_data_new.
لاحظ أنه في نهاية الترقية، نقوم بإزالة ملفات pg_dump المؤقتة، لكننا نحتفظ ببيانات قاعدة البيانات ما قبل الترقية في /shared/postgres_data_old احتياطياً. بمجرد رضاك عن أن كل شيء يعمل بشكل صحيح، قد ترغب في إزالة هذا المجلد لاستعادة مساحة القرص.
لقد اختبرت أخذ نسخة احتياطية من Discourse على موقع PG15 واستعادتها على موقع PG18. لقد نجحت لدي، لكن كن على علم بأن هذه الطريقة غير مدعومة رسمياً. اختبرها بشكل شامل أولاً على شيء غير إنتاجي وتأكد من وجود مسار للرجوع!
أوصي بدراسة العملية المستخدمة من قبل سكريبت الترقية. إذا كانت لديك متطلبات تخزين خاصة، فيجب أن تكون قادراً على تكييفها مع احتياجاتك. مرة أخرى، اختبر أولاً:
هذا موجود الآن في discourse_docker، نعم. إذا قمت بسحب main أو تشغيل ./launcher rebuild app، فستحصل عليه.
إيقاف discourse_docker عن الفرع main سيساعد في منع الترقيات العرضية إذا أردت تأجيلها.