تحديث PostgreSQL 18 لمستخدمي الاستضافة الذاتية

لقد نجح لوحة تحكم Literate Computing في ترقية موقعين مستقلين وموقع يتكون من حاويتين دون أي حوادث. في الغالب، كل ما كان مطلوبًا هو تغيير إصدار Postgres المستهدف في متغير، لذا كما تم الإعلان عنه، فإن العملية هي نفسها مثل العمليات القليلة الماضية.

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

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

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

4 إعجابات

ملاحظة: لست متأكدًا من السبب، لكن ترقية PostgreSQL 18 تعطل فحوصات البيانات الأصلية. تُعد فحوصات بيانات PostgreSQL ميزة افتراضية، ويبدو أن تعطيلها أمر غير معتاد للغاية.

طلب السحب (PR) لعدم تعطيل فحوصات البيانات (مفعل افتراضيًا): Do not disable PostgreSQL 18 data checksums - Pull Request #1105 - discourse/discourse_docker - GitHub

وهو أفضل من أن تضطر لتخصيص 20 جيجابايت فارغة لساعة واحدة فقط تحتاجها في عام كامل :joy:

ربما ينبغي أن يكون هذا هو النهج الموصى به من أجل توفير الأشجار والماء. :sweat_smile:

فقط للتأكد، أنا لا أستخدم PostgreSQL الذي توفره Discourse، وDiscourse نفسها لا تتطلب PG18 بعد، أليس كذلك؟ لذلك، لا يُطلب مني (بعد) الترقية إلى PG18.

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

لديك بالتأكيد وقت طويل. لقد دافعوا عن… آه، بعض الإصدارات بسرعة بعد التحديث بسبب ميزة معينة كانت مطلوبة، لكن يمكنك على الأرجح الانتظار لمدة تصل إلى عام. أنا أراقب مستودع discourse_docker. في مرحلة ما، سيبدأون في الحديث عن إزالة الدعم لـ PG15؛ الأمر ليس صاخباً بشكل خاص وهو طريقة سهلة للبقاء على اطلاع على تحديثات الأمور الداخلية.

إعجابَين (2)

عمل بشكل جيد على تثبيت Raspberry Pi 5 الخاص بي، بعد إعادة بنائه مرتين وانتهى الأمر.

4 إعجابات

هل لدينا أي معايير أداء (benchmarks) بالمناسبة؟

هذا قد يشجع الآخرين على اتباع خطانا الجريئة في وقت أقرب.

تخبرني أداة البحث الذكي المجانية الخاصة بي:

بالنسبة لتطبيق Rails نموذجي، يمكن أن يؤدي الانتقال من PostgreSQL 15 إلى 18 إلى تحقيق أداء استعلام أسرع بنسبة ~10-25% دون إجراء أي تغييرات على الكود، وحتى 40% في أنماط استعلام محددة إذا استغلت ميزات الفهرسة والمخطط الجديدة.

إذا كان هذا صحيحاً، فهذه ترقية كبيرة! :tada:

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