تحديث معطل: ERROR: يجب أن تكون مالك الامتداد vector (PG::InsufficientPrivilege)

I, [2024-08-08T22:28:10.332254 #1]  INFO -- : cd /var/www/discourse & su discourse -c 'bundle exec rake db:migrate'
2024-08-08 22:28:18.660 UTC [1022] discourse@discourse ERROR:  must be owner of extension vector
2024-08-08 22:28:18.660 UTC [1022] discourse@discourse STATEMENT:  ALTER EXTENSION vector UPDATE TO '0.7.0';
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled: (StandardError)

ERROR:  must be owner of extension vector
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rack-mini-profiler-3.3.1/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:202:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `block in run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `block in with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.3.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:34:in `with_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.5.0/lib/mini_sql/postgres/connection.rb:181:in `exec'
/var/www/discourse/plugins/discourse-ai/db/migrate/20240611170904_upgrade_pgvector_070.rb:10:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:989:in `public_send'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:989:in `exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `block in exec_migration'
/var/www/discourse/lib/freedom_patches/schema_migration_details.rb:8:in `exec_migration'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:970:in `block (2 levels) in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:969:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:227:in `with_connection'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:968:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1600:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1448:in `block in migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1600:in `with_advisory_lock'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1448:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1274:in `up'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/migration.rb:1249:in `migrate'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.3.4/lib/active_record/tasks/database_tasks.rb:243:in `migrate'
/var/www/discourse/lib/tasks/db.rake:259:in `block (2 levels) in <main>'
/var/www/discourse/lib/distributed_mutex.rb:53:in `block in synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:49:in `synchronize'
/var/www/discourse/lib/distributed_mutex.rb:34:in `synchronize'
/var/www/discourse/lib/tasks/db.rake:234:in `block in <main>'
/var/www/discourse/vendor/bundle/ruby/3.3.0/gems/rake-13.2.1/exe/rake:27:in `<top (required)>'
/usr/local/bin/bundle:25:in `load'
/usr/local/bin/bundle:25:in `<main>'

Caused by:
PG::InsufficientPrivilege: ERROR:  must be owner of extension vector (PG::InsufficientPrivilege)

Two lines stand out:

  • 2024-08-08 22:28:18.660 UTC [1022] discourse@discourse ERROR: must be owner of extension vector
    2024-08-08 22:28:18.660 UTC [1022] discourse@discourse STATEMENT: ALTER EXTENSION vector UPDATE TO ‘0.7.0’;
    rake aborted!
  • PG::InsufficientPrivilege: ERROR: must be owner of extension vector (PG::InsufficientPrivilege)

It’s been ±1-2 weeks since my latest upgrade, can anyone repro this, or any advice?

EDIT: Disabled discourse-ai - rebuilding without issues now.

إعجابَين (2)

هل هذا تثبيت قياسي مع حاوية واحدة فقط؟

نعم، تم تثبيته قبل بضع سنوات باستخدام الدليل الرسمي.

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

نعم، لا يزال موجودًا — لأنني نسيت التحقق مما إذا كان هذا قد تم دمجه أم أنه لا يزال مفتوحًا :man_facepalming:

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

تم دمجه الآن

أنا آسف، ولكن هل هذا يعني أن هذه المشكلة قد تم حلها؟
أواجه مشكلة مماثلة كما نوقشت هنا.

نعم، حاول تحديث موقعك عبر إعادة البناء.

3 إعجابات

للأسف، فشل الأمر.

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

أيضًا، إذا كان ذلك ذا صلة:

:/var/www/discourse# LOAD_PLUGINS=1 bundle exec rake db:migrate
fatal: detected dubious ownership in repository at '/var/www/discourse'
To add an exception for this directory, call:
     git config --global --add safe.directory /var/www/discourse

بالنسبة لي، لقد نجح الأمر

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

كما هو الحال دائمًا، إذا كان لديك إعداد حاويتين، فأنت بحاجة إلى تحديث كليهما.

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

يمكن تأكيد أن الإصلاح قد حل المشكلة بالنسبة لي. شكرًا!

3 إعجابات

شكرًا، لم أكن أعرف ذلك.

ولكن عندما حاولت تهيئة حاوية ‘data’ الخاصة بي، واجهت هذا الخطأ:

هل أحتاج إلى إيقاف حاوية ‘Web_only’ الخاصة بي أولاً؟ على الرغم من أنني حاولت القيام بذلك أيضًا، كإجراء احترازي.

تم إغلاق هذا الموضوع تلقائيًا بعد 3 أيام. لم يعد يُسمح بالردود الجديدة.