مشكلة التحديث: المنتدى معطل

مرحباً،

لدي مشكلة مع آخر تحديث. المنتدى الخاص بي معطل.
لدي هذه الرسالة على SSH.

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' فشل مع العودة #<Process::Status: pid 2472 exit 1>
موقع الفشل: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
فشل التنفيذ مع المعلمات {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
3d52a3f170f714bf580dcd30effbf9306fbf6e0ef1f786cf9dd4e326b066e6a4
** FAILED TO BOOTSTRAP ** يرجى التمرير لأعلى والبحث عن رسائل خطأ سابقة، قد يكون هناك أكثر من واحدة.
قد يساعد ./discourse-doctor في تشخيص المشكلة.

هل لديك فكرة عن مكان المشكلة وكيفية إصلاحها؟

شكراً جزيلاً لك.

إعجابَين (2)

هل يمكنك التمرير لأعلى والتحقق من وجود أخطاء أكثر تحديدًا، ومعرفة ما تقوله؟

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

مرحباً،

هذا رابط لملف يحتوي على العملية بأكملها. هناك بالتأكيد بعض الأخطاء مع postgresql حتى لو لم أكن متأكداً من أن المشكلة تأتي من هناك.

https://pastebin.com/nqLWDRAC

كيف قمت بالتثبيت؟ أي إصدار من Postgres تستخدم؟

Caused by:
PG::InsufficientPrivilege: ERROR:  permission denied to create extension "unaccent"
HINT:  Must be superuser to create this extension.
إعجاب واحد (1)

لقد سجلت الدخول بصلاحيات root.
لا يمكنني الحصول على صلاحيات أفضل :slight_smile:

لا أعرف بالنسبة لـ postgres
“يمكن العثور على البرنامج ‘pg_config’ في الحزم التالية:”

المنتدى متصل بالإنترنت.
أعدت تشغيل الخادم.

تم إصلاح المشكلة الأولى ولكن لدي مشكلة ثانية.

لدي هذا الخطأ “500 خطأ داخلي في الخادم” عند إنشاء منشور أو الرد عليه.

هل لديك فكرة عن كيفية الإصلاح؟

مرحباً،

لقد وجدت هذا الخطأ في ملف السجل

ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR: current transaction is aborted, commands ignored until end of transaction block ) app/models/post.rb:973:in `block in link_post_uplo 
ActiveRecord::StatementInvalid (PG::InFailedSqlTransaction: ERROR:  current transaction is aborted, commands ignored until end of transaction block
)
app/models/post.rb:973:in `block in link_post_uploads'
app/models/post.rb:972:in `link_post_uploads'
lib/post_creator.rb:217:in `block in create'
lib/post_creator.rb:409:in `block (2 levels) in transaction'
lib/post_creator.rb:408:in `block in transaction'
lib/distributed_mutex.rb:33:in `block in synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:29:in `synchronize'
lib/distributed_mutex.rb:14:in `synchronize'
lib/post_creator.rb:407:in `transaction'
lib/post_creator.rb:205:in `create'
lib/new_post_manager.rb:285:in `perform_create_post'
lib/new_post_manager.rb:223:in `perform'
app/controllers/posts_controller.rb:193:in `create'
app/controllers/application_controller.rb:400:in `block in with_resolved_locale'
app/controllers/application_controller.rb:400:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:71:in `call'
lib/middleware/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:358:in `call'
config/initializers/100-quiet_logger.rb:23:in `call'
config/initializers/100-silence_logger.rb:31:in `call'
lib/middleware/enforce_hostname.rb:23:in `call'
lib/middleware/request_tracker.rb:202:in `call'

هل لديك فكرة عن المشكلة؟

هل هذا تثبيت قياسي؟

نعم،
أستخدم المنتدى منذ 6 سنوات.
الإصدار الأخير المثبت هو 2.9.0.beta3

هل لديك أي إضافات مثبتة؟ ربما انشر ملف app.yml الخاص بك؟

ما هي نسخة بوستجريس الخاصة بك؟ فقط قم بتشغيل launcher enter app ثم اكتب psql -V

إعجابَين (2)

مرحباً،

لقد اختبرت ولكن المشكلة الأصلية عادت

Pups::ExecError: cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 2458 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
45d3621c802f025ef80ad34e77ec3318a48677b0de0134210120ef7690b6e6f4
** 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.

أعتقد أنه كانت هناك مشكلة عند التحديث لأنه لم تكن هناك مساحة كافية على القرص الصلب. لقد قمت بتحرير بعض المساحة ولدي الآن 67٪ مساحة حرة. ومع ذلك، هناك مشكلة قائمة، ولكن ما هي؟

البرنامج ‘psql’ غير مثبت حاليًا.
هل يجب علي تثبيته؟

هل قمت بتنفيذ

launcher enter app

قبل أمر psql؟

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

إنه نفس الشيء،
حاولت التثبيت ولكن لدي هذه الرسالة

E: تحتاج الحزمة libperl5.22 إلى إعادة التثبيت، ولكن لا يمكنني العثور على أرشيف لها.

لقد ألقيت نظرة أخرى على ملف السجل الخاص بك في pastebin. يقول Postgres 10.
هل أنت متأكد من أن هذا إعداد قياسي تم تثبيته وفقًا لـ https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md؟

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

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

محاولتي الأخيرة.

هل يمكنك من فضلك تنفيذ

cd /var/discourse
./launcher enter app
psql -V

ونسخ هذا بالكامل في رد، بما في ذلك الأوامر والمخرجات؟

إعجاب واحد (1)
psql (PostgreSQL) 10.19 (Debian 10.19-1.pgdg110+1)

حسناً، رائع. هذه نتيجة مختلفة عن المرة السابقة.
لذا تفضل الآن بالقيام بما يلي:

cd /var/discourse
git pull
./launcher rebuild app

وإذا واجهت أخطاء، فيرجى نشر المخرجات الكاملة، بما في ذلك الأوامر التي استخدمتها، في رد (أو على Pastebin)

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

من المثير للاهتمام أنني واجهت نفس الخطأ أو خطأ مشابهًا. يعمل على Discourse 2.9.0.beta2 وحاولت التحديث إلى ß3. لقد قمت بتعطيل جميع الإضافات باستثناء docker_manager لـ ./launcher rebuild app. أعمل على قاعدة بيانات PGSQL خارجية بالإصدار:

$ psql --version
psql (PostgreSQL) 14.1 (Ubuntu 14.1-1.pgdg18.04+1)

يمكنني إعادة تشغيل الحاوية عبر ./launcher restart app بعد الفشل، ولكن عند الردود تعود بخطأ 500.

الخطأ النهائي أثناء إعادة البناء/الترقية هو:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse &amp;&amp; su discourse -c 'bundle exec rake db:migrate' failed with return #&lt;Process::Status: pid 658 exit 1&gt;
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=&gt;"$home", "hook"=&gt;"db_migrate", "cmd"=&gt;["su discourse -c 'bundle exec rake db: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.

قد توجد الأخطاء الفعلية ذات المغزى أعلاه هنا: https://p153.p0.n0.cdn.getcloudapp.com/items/jkuvPekN/feb38236-3b84-410e-8fac-d1864d02ba69.txt?v=eb1d15e029cb07a73300d8ec07318876

أجد صعوبة في تصديق أن هذه مشكلة أذونات فعلية، وأنا متردد في منح مستخدم Discourse DB إذن المستخدم الخارق/الجذر إلى pgsql.

هل هناك أي أفكار أخرى حول ما يمكن أن يحدث هنا مع هذا الانقطاع الحديث؟