# Discourse AI вызывает сбой пересборки

**URL:** https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232
**Category:** Support
**Tags:** ai
**Created:** [26.Сентябрь.2024 14:10:55 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232 "2024-09-26T14:10:55Z")
**Posts on this page:** 7
**Page:** 1

<div class="post-metadata">

### Author: ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)
#### Post date: [26.Сентябрь.2024 14:10:55 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/1 "2024-09-26T14:10:55Z")

</div>

С последней сборкой пересборка на моём сайте завершается неудачей. Единственный способ заставить её пройти успешно — удалить плагин AI. Есть какие-либо идеи?

> **Ошибка**
>
> Причина:
> 
> ```plaintext
> PG::InsufficientPrivilege: ERROR: must be owner of extension vector (PG::InsufficientPrivilege)
> /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.6.0/lib/mini_sql/postgres/connection.rb:217:in `run'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.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.6.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.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.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.6.0/lib/mini_sql/active_record_postgres/connection.rb:38:in `run'
> /var/www/discourse/lib/mini_sql_multisite_connection.rb:109:in `run'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/mini_sql-1.6.0/lib/mini_sql/postgres/connection.rb:196: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.4/lib/active_record/migration.rb:989:in `public_send'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.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.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.4/lib/active_record/migration.rb:969:in `block in migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.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.4/lib/active_record/migration.rb:968:in `migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1178:in `migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1529:in `block in execute_migration_in_transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:535:in `block in within_new_transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activesupport-7.1.4/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/transaction.rb:532:in `within_new_transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1580:in `ddl_transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1528:in `execute_migration_in_transaction'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1503:in `each'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1503:in `migrate_without_lock'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1448:in `block in migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1600:in `with_advisory_lock'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1448:in `migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1274:in `up'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/migration.rb:1249:in `migrate'
> /var/www/discourse/vendor/bundle/ruby/3.3.0/gems/activerecord-7.1.4/lib/active_record/tasks/database_tasks.rb:251: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>'
> Tasks: TOP => db:migrate
> (Полный трассировочный вывод можно получить, запустив задачу с флагом --trace)
> I, [2024-09-26T02:33:15.511637 #1] INFO -- : gem install tokenizers -v 0.4.4 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен tokenizers-0.4.4-x86_64-linux
> Установлено 1 gem
> gem install tiktoken_ruby -v 0.0.9 -i /var/www/discourse/plugins/discourse-ai/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен tiktoken_ruby-0.0.9-x86_64-linux
> Установлено 1 gem
> gem install multipart-post -v 2.4.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен multipart-post-2.4.0
> Установлено 1 gem
> gem install faraday-multipart -v 1.0.4 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен faraday-multipart-1.0.4
> Установлено 1 gem
> gem install event_stream_parser -v 1.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен event_stream_parser-1.0.0
> Установлено 1 gem
> gem install ruby-openai -v 7.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен ruby-openai-7.0.0
> Установлено 1 gem
> gem install google_search_results -v 2.2.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен google_search_results-2.2.0
> Установлено 1 gem
> gem install wikipedia-client -v 1.17.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен wikipedia-client-1.17.0
> Установлено 1 gem
> gem install childprocess -v 5.0.0 -i /var/www/discourse/plugins/discourse-chatbot/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен childprocess-5.0.0
> Установлено 1 gem
> gem install liquid -v 5.5.0 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен liquid-5.5.0
> Установлено 1 gem
> gem install discourse_subscription_client -v 0.1.2 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен discourse_subscription_client-0.1.2
> Установлено 1 gem
> gem install discourse_plugin_statistics -v 0.1.0.pre7 -i /var/www/discourse/plugins/discourse-custom-wizard/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен discourse_plugin_statistics-0.1.0.pre7
> Установлено 1 gem
> gem install geocoder -v 1.8.2 -i /var/www/discourse/plugins/discourse-locations/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен geocoder-1.8.2
> Установлено 1 gem
> gem install aws-sdk-translate -v 1.35.0 -i /var/www/discourse/plugins/discourse-translator/gems/3.3.4 --no-document --ignore-dependencies --no-user-install
> Успешно установлен aws-sdk-translate-1.35.0
> Установлено 1 gem
> == 20240611170904 UpgradePgvector070: миграция ===============================
> 
> ОШИБКА
> --------------------
> Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' завершилась с кодом возврата #<Process::Status: pid 1936 exit 1>
> Место ошибки: /usr/local/lib/ruby/gems/3.3.0/gems/pups-1.2.1/lib/pups/exec_command.rb:132:in `spawn'
> Ошибка выполнения с параметрами {"cd"=>"$home", "tag"=>"migrate", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
> Загрузка не удалась с кодом выхода 1
> **ЗАГРУЗКА НЕ УДАЛАСЬ** Пожалуйста, прокрутите вверх и найдите более ранние сообщения об ошибках; их может быть несколько.
> ./discourse-doctor может помочь диагностировать проблему.
> 981f5a5797fa920052c5f2e33e4a36d4e515a053d5e922ca91882d0712379d3b
> Определена архитектура x86_64.
> 881912b282ea
> Ничего не требуется, ваш контейнер уже запущен!
> 
> ```

---

<div class="post-metadata">

### Author: ![Moin](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moin/32/554653_2.png) [@Moin](https://meta.discourse.org/u/Moin)
#### Post date: [26.Сентябрь.2024 14:14:29 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/2 "2024-09-26T14:14:29Z")

</div>

Эта ошибка напоминает мне [Broken update: ERROR: must be owner of extension vector (PG::InsufficientPrivilege)](https://meta.discourse.org/t/broken-update-error-must-be-owner-of-extension-vector-pg-insufficientprivilege/320817?u=moin)

---

<div class="post-metadata">

### Author: ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)
#### Post date: [26.Сентябрь.2024 14:18:13 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/3 "2024-09-26T14:18:13Z")

</div>

Интересно, спасибо! Это настройка с двумя контейнерами. @pfaffman, возможно, мне понадобится ваша помощь в этом вопросе, хотя это не является приоритетом.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [26.Сентябрь.2024 18:14:50 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/4 "2024-09-26T18:14:50Z")

</div>

Привет, Дэвид.

Я почти уверен, что проблема в том, что контейнер данных нужно пересобрать. Если вы пересоберёте его через [https://dashboard.literatecomputing.com/](https://dashboard.literatecomputing.com/), это должно быть сделано в один клик. Я недавно добавил проверки для пересборки контейнера данных, если версия pgvector не соответствует требуемой.

Ваша версия Docker актуальна, поэтому всё должно работать без проблем.

Или просто дайте знать, и я нажму эту кнопку за вас.

---

<div class="post-metadata">

### Author: ![davidkingham](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/davidkingham/32/119528_2.png) [@davidkingham](https://meta.discourse.org/u/davidkingham)
#### Post date: [26.Сентябрь.2024 19:03:54 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/5 "2024-09-26T19:03:54Z")

</div>

Спасибо, Джей! Однажды я избавлюсь от привычки использовать командную строку и буду доверять твоей кнопке 😉🤦🏼‍♂️

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [26.Сентябрь.2024 19:36:03 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/6 "2024-09-26T19:36:03Z")

</div>

Что ж, я — настоящий фанат командной строки, и приятная особенность дашборда в том, что он запускает скрипт Ansible, который выполняет множество задач, о которых люди часто забывают: например, очистку при нехватке места на диске, или вовремя замечает, что пора обновить PostgreSQL (или, в данном случае, просто выполнить простую пересборку вместо полной пересборки версии, которая требует нескольких циклов пересборки). Он даже останавливает веб-контейнер, пересобирает данные, а затем запускает веб-контейнер заново, прежде чем перейти к процессу инициализации (bootstrap).

О! Кроме того, он знает о некоторых устаревших плагинах или плагинах, перенесённых в ядро, и автоматически удаляет их.

Но если вам действительно нравится выполнять лишнюю работу и просто бездумно наблюдать, как компьютеры что-то делают (как и мне), вы можете войти через командную строку во время обновления и выполнить команду:

```
docker logs -f container-name

```

чтобы следить за процессом инициализации. Если вы дважды нажмёте клавишу Tab для имени контейнера, увидите забавное случайное имя, которое назначает Docker.

Удачи!

---

<div class="post-metadata">

### Author: ![system](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/system/32/443519_2.png) [@system](https://meta.discourse.org/u/system)
#### Post date: [26.Октябрь.2024 19:36:19 UTC](https://meta.discourse.org/t/discourse-ai-causing-rebuild-to-fail/328232/7 "2024-10-26T19:36:19Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
