مرحباً،
لقد قمت بتشغيل تحديث بعد عام تقريباً، مما أدى إلى الانتقال من pg 13 إلى 15.
أحاول تشغيل الأمر المعطى باستخدام LC_LANG الخاص بي ولكنه لا يعمل، أحصل على FATAL: data directory “/shared/postgres_data” does not exist. وبالفعل هو غير موجود… هل لدى أي شخص فكرة؟
لقد واجهت نفس الخطأ الذي واجهته للتو، وهو “/bin/bash: warning: setlocale: LC_ALL: cannot change locale” عندما حاولت تشغيل launch rebuild app، مما قادني في النهاية إلى هذا المنشور، هل تمكنت من حله في النهاية؟ أوامر docker run قادتني فقط إلى المزيد من المشاكل، كما ذكرت أعلاه.
لقد أضفت تعيينًا \-v /var/discourse/shared/standalone:/shared والآن تقدمت قليلاً. من الغريب أنه غير موجود على أي حال. قد تكون المشكلة هي أن “تطبيقي” لا يزال عالقًا عند إصدار ما في عام 2024 و “إعادة البناء” لا تعمل. مجرد تخمين…
لذا كان لدي هذا في ملف app.yml الخاص بي وكان يعمل بشكل جيد:
إذا لم يكن لديك نسخة احتياطية حالية ولا يمكنك إعادة تشغيل الحاوية القديمة، فأنصحك بالتبديل إلى قالب PG13 والحصول على إعداد عمل، ثم عمل نسخة احتياطية، ثم إعداد خادم جديد واستعادة النسخة الاحتياطية هناك. يمكنك إعداده بأي لغة تفضلها عندما تكون قاعدة البيانات فارغة ثم إجراء الاستعادة (وربما يتم تحويل اللغة بطريقة سحرية؟).
الانتقال إلى خادم جديد يضمن أنك لن تتسبب في تعطل خادمك الحالي.
للأسف أنا بالفعل في حالة تعطل. لدي نسخ احتياطية ولكني لا أستطيع استعادتها لأن تغيير الإصدار كبير جدًا وهناك مشاكل في التبعيات مع الـ gem. لا يمكنني أيضًا العودة إلى الإصدار القديم لأن المشغل (launcher) يسحب التحديث تلقائيًا، وهو أمر محزن برأيي.
باستخدام LC_ALL أحصل على:
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups.rb
/usr/local/bin/pups --stdin
/bin/bash: warning: setlocale: LC_ALL: cannot change locale (fr_BE.UTF-8)
I, [2025-12-02T15:46:29.638999 #1] INFO -- : Reading from stdin
/usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/cli.rb:59:in `split’: invalid byte sequence in US-ASCII (ArgumentError)
split = conf.split("_FILE_SEPERATOR_")
^^^^^^^^^^^^^^^^^^
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/cli.rb:59:in `run'
from /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/bin/pups:9:in `<top (required)>'
from /usr/local/bin/pups:25:in `load'
from /usr/local/bin/pups:25:in `<main>'
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
19a63b958021df0ecbc7e21bfea95f1c5ef7b039efd669b5d4af48b05d397a58
إذا قمت بإزالة LC_ALL، يتوقف الأمر ./launcher rebuild app عند:
Performing Consistency Checks
Checking cluster versions ok
Checking database user is the install user ok
Checking database connection settings ok
Checking for prepared transactions ok
Checking for system-defined composite types in user tables ok
Checking for reg* data types in user tables ok
Checking for contrib/isn with bigint-passing mismatch ok
Checking for user-defined encoding conversions ok
Checking for user-defined postfix operators ok
Checking for incompatible polymorphic functions ok
Checking for not-null constraint inconsistencies ok
Creating dump of global objects ok
Creating dump of database schemas ok
lc_collate values for database “template1” do not match: old “fr_BE.UTF-8”, new “en_US.UTF-8”
مع سطر دوكر (docker) “اليدوي” المذكور في المنشور العلوي، اضطررت أيضًا إلى ربط أشياء في /etc/postgresql بـ /var/... لأن بعض الملفات كانت مفقودة، وفي النهاية حصلت على نفس الخطأ المذكور أعلاه.
أشك في أن تغيير الإصدار كبير جدًا. هل قمت بإعداد خادم جديد وحاولت استعادة تلك النسخة الاحتياطية؟ لقد قمت باستعادة نسخة احتياطية أقدم بعدة سنوات من الموقع الذي تم استعادتها عليه. أنا متأكد تمامًا من أنها ستنجح. أنا أنقل المواقع إلى خوادم جديدة عدة مرات في الشهر. المرة الوحيدة التي حدثت فيها مشكلة كانت عندما كان هناك فهرس تالف، وهو ما لم أره منذ فترة طويلة.
هل حاولت إعادة تسمية postgres_old إلى postgres_data و
./launcher start app
أوه. هذه فكرة جيدة! لهذا السبب يجب أن أقرأ المنشور بأكمله قبل الرد.