لقد سجلت الدخول. لم أقم بالتحديث منذ 11 شهرًا. بدأت بمحاولة ترقية Docker Manager. لم يبدو أنها تكتمل أبدًا. في اليوم التالي، أصبحت صفحة المسؤول معطلة تقريبًا. حاولت تشغيل ./launcher rebuild app. أحصل على
2025-10-30 20:04:52.144 UTC [1892] discourse@c_discourse ERROR: must be owner of extension vector
2025-10-30 20:04:52.144 UTC [1892] discourse@c_discourse STATEMENT: ALTER EXTENSION vector UPDATE TO ‘0.7.0’;
لكن قاعدة البيانات متوقفة، لذا فإن الإصلاحات التي رأيتها لا تعمل.
2025-10-31 00:27:40.021 UTC [662] FATAL: database files are incompatible with server
2025-10-31 00:27:40.021 UTC [662] DETAIL: The data directory was initialized by PostgreSQL version 15, which is not compatible with this version 13.16 (Debian 13.16-1.pgdg120+1).
شكرا. هناك الكثير مما يمكن استيعابه حقًا ولكنه لا يبدو أن أيًا منها يمثل مشكلتي. يبدو أن قاعدة البيانات تعمل أثناء عملية إعادة البناء وهو الجزء الغريب. على الأقل مما يمكنني استنتاجه من الأشياء التي تمر.
ليس إذا كان التثبيت المتعدد المواقع لا يزال يعتبر غير مدعوم.
تبدو المشكلة عندما قمت بتثبيته ولم يكن هناك مستخدم/كلمة مرور متصلة بقواعد البيانات الفردية. يبدو أن هذا يتغير. هذا هو المكان الذي تكمن فيه المشكلة. لقد حاولت التلاعب بها قليلاً عن طريق إضافة مستخدم ثم مستخدم بكلمة مرور فارغة ولكن ذلك لم يساعد.
تكويني مقابل التكوين النموذجي الجديد:
امتداد Pgvector قديم أو غير مُعد على إحدى قواعد بياناتك. واجهت هذا في عدد قليل من التثبيتات قبل بضعة أشهر. من السهل جدًا حل هذه المشكلة، ما عليك سوى تحديثه.
ادخل إلى حاوية قاعدة البيانات، وقم بتشغيل psql بصفتك discourse (أو أيًا كان مالك قاعدة بياناتك)، ثم اختر كل قاعدة بيانات وقم بتشغيل
هل هناك أي مساعدة حول كيفية بدء قاعدة البيانات للقيام بذلك؟ هذه هي نقطة التعثر حقًا.
تحرير: الملفات الوحيدة لـ postgres التي أجدها هي من الإصدار /13. لذا أنا في حالة من الجمود. يبدو أن برنامج قاعدة البيانات تمت ترقيته ولكن ملفات قاعدة البيانات لم تفعل ذلك. لقد أجريت بعض عمليات البحث ولكن لا شيء أشعر بالراحة تجاهه بخلاف محاولة نسخ الملفات للخارج واللعب بها.
2025-10-31 00:27:40.021 UTC [662] FATAL: database files are incompatible with server 2025-10-31 00:27:40.021 UTC [662] DETAIL: The data directory was initialized by PostgreSQL version 15, which is not compatible with this version 13.16 (Debian 13.16-1.pgdg120+1).
حسنًا، لقد تم حذف 15 وتثبيت 13، ولكن الغريب هو نفس الخطأ. لقد تعطلت العملية في وقت أقرب بكثير من البداية.
2025-11-01 15:30:26.522 UTC [2547] FATAL: database files are incompatible with server 2025-11-01 15:30:26.522 UTC [2547] DETAIL: The data directory was initialized by PostgreSQL version 15, which is not compatible with this versio n 13.22 (Debian 13.22-1.pgdg12+1).
هذه هي نقطة الفشل: 2025-11-01 15:30:26.522 UTC [2547] FATAL: database files are incompatible with server 2025-11-01 15:30:26.522 UTC [2547] DETAIL: The data directory was initialized by PostgreSQL version 15, which is not compatible with this versio n 13.22 (Debian 13.22-1.pgdg12+1).
لقد جربت قالب 13. المشكلة هي أن قاعدة البيانات قد تم تعديلها بالفعل بواسطة الإصدار 15، ولكن ترحيل المواقع المتعددة المضافة حديثًا تمت إضافتها بطريقة ما بواسطة مستخدم يبدو أنه غير معترف به من قبل المثبت. كما ذكرت أعلاه، لم يكن هناك شرط لمجموعة اسم المستخدم/كلمة المرور عند إضافتها في البداية، لذا لا أعرف بالضبط كيف تمت إضافتها إلى قاعدة البيانات.
هل هناك أي قيمة يمكنني إضافتها إلى خيارات اسم المستخدم/كلمة المرور التي من شأنها أن تلبيها؟ تذكر، لم أضفها، فماذا وضع البرنامج النصي الأولي فيها إذا لم يكن postgres، والذي يبدو أنه المستخدم الافتراضي المشار إليه في المخرجات التي أراها.
هل سيكون من الممكن فقط التعليق على الموقعين المضافين للحصول على قاعدة البيانات وتشغيلها، ثم ربما استخدام أي طريقة استيراد يتم استخدامها الآن؟
لطالما كانت قاعدة البيانات نقطة ضعفي. يبدو أن هذا منظم بشكل مختلف عما كنت أعتقده، وهو أن كل هذه الأشياء كانت في /var/lib/posgresql تحت أحد تلك الدلائل الغريبة المرقمة بشكل غير شفاف.
أنا أقدر كل المساعدة. هناك عدد قليل من المنتديات حيث أنا الشخص الذي يهز رأسه عند بعض المستخدمين.
إذا كنت تقوم ببناء إصدار من discourse يتضمن إضافات مجمعة، فسيفشل البناء مع عدم وجود امتداد pgvector بغض النظر عن إصدار postgres الذي تستخدمه. إذا كنت تستخدم إصدارًا أقدم من postgres، فستواجه مشاكل أكثر مما بدأت به.
آمل أن تكون قد أخذت نسخة احتياطية قبل رحلة الترقية هذه،
أقترح إعداد نسخة discourse جديدة في مكان آخر واستعادة نسختك الاحتياطية. هذه هي الطريقة الموثوقة الوحيدة للخروج من هذا الموقف.
يمكنك القيام بذلك يدويًا أيضًا، ولكن سيتطلب ذلك الكثير من العمل ولن يضمن النتائج.
هل تم دفع إصدار جديد الليلة الماضية؟ أعتقد أنني رأيت بعض عمليات سحب git. على أي حال، العمل مع القالب 13 ونقل البيانات نجح. نوعًا ما.
بدا أن قاعدة البيانات قد تمت هجرتها بشكل جيد. لا يمكنني العثور على “خطأ المنحة” في الصفحات والصفحات من المخرجات. هذا لا يعني أنه ليس هناك. قد أحتاج إلى تشغيل discourse_doctor حتى يكون لدي مخرجات محفوظة يمكنني البحث فيها عن الأخطاء. قاعدة البيانات قيد التشغيل. لدي الآن خطأ في الصفحة بدلاً من بوابة سيئة في متصفحي. سأضع الجزء الأخير من المخرجات هنا للاكتمال، ولكن إذا لم أجد نفس خطأ المنحة المذكور سابقًا، فسأبدأ موضوعًا جديدًا.
شكراً لكل من ساعد حتى الآن. على الأقل يمكنني الآن الوصول إلى قاعدة البيانات. شكر كبير لكل من ساعدني في الوصول إلى هذا الحد.
I, [2025-11-02T15:17:02.281908 #1] INFO -- : Terminating async processes I, [2025-11-02T15:17:02.282204 #1] INFO -- : Sending INT to HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U p ostgres:postgres:ssl-cert /usr/lib/postgresql/13/bin/postmaster -D /etc/postgresql/13/main pid: 2547 I, [2025-11-02T15:17:02.282450 #1] INFO -- : Sending TERM to exec chpst -u redis -U redis /usr/bin/redis-server /etc/redis/redis.conf pid: 2644 2025-11-02 15:17:02.289 UTC [2547] LOG: received fast shutdown request 2644:signal-handler (1762096622) Received SIGTERM scheduling shutdown... 2644:M 02 Nov 2025 15:17:02.299 # User requested shutdown... 2644:M 02 Nov 2025 15:17:02.299 * Saving the final RDB snapshot before exiting. 2025-11-02 15:17:02.384 UTC [2547] LOG: aborting any active transactions 2025-11-02 15:17:02.391 UTC [2547] LOG: background worker \"logical replication launcher\" (PID 2562) exited with exit code 1 2025-11-02 15:17:02.452 UTC [2557] LOG: shutting down 2644:M 02 Nov 2025 15:17:02.549 * DB saved on disk 2644:M 02 Nov 2025 15:17:02.549 # Redis is now ready to exit, bye bye... 2025-11-02 15:17:06.304 UTC [2547] LOG: database system is shut down
FAILED -------------------- Pups::ExecError: cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate failed with return #<Process::Status: pid 4308 exit 1> Location of failure: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.3.0/lib/pups/exec_command.rb:131:inspawn’ exec failed with the params “cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate” 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. `
EDIT: وجدت هذا في السجلات. لن أفعل أي شيء حتى أقوم بتشغيل doctor والبحث عن الأخطاء. 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse LOG: provided user name (postgres) and authenticated user name (discourse) do not match 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse FATAL: Peer authentication failed for user "postgres" 2025-11-02 16:10:09.680 UTC [6244] postgres@c_discourse DETAIL: Connection matched pg_hba.conf line 89: "local all postgres peer"
لإنهاء هذا الموضوع، قمت بتشغيل doctor ووجدت خطأ alter. بما أن قاعدة البيانات كانت تعمل، قمت بتشغيل أمر alter على قواعد البيانات المتضمنة في multisite، وأعدت تشغيل البناء، وتم ترحيلها الآن. لا يزال وصول المستخدم إلى قاعدة البيانات مستمرًا، لكنني سأبدأ موضوعًا آخر لذلك.
مرة أخرى، شكراً للجميع على مساعدتي في الوصول إلى هذه النقطة.