Ошибка сборки: отказано в разрешении на создание расширения "vector"

Привет,

У меня возникли проблемы с пересборкой моей мультисайтовой установки Discourse. Ниже приведены ошибки, которые я получаю.

  • Я запускаю ./launcher rebuild app от имени root.
  • Команда git status в каталоге /var/discourse показывает, что я актуален относительно ветки main.
  • Система сообщает, что запущен PostgreSQL 15.13:
    2025-08-14 10:35:04.390 UTC [45] LOG: starting PostgreSQL 15.13 (Debian 15.13-1.pgdg120+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 12.2.0-14) 12.2.0, 64-bit
  • Я отключил все плагины, кроме docker_manager.
  • Утилита discourse-doctor не находит никаких проблем.

Вот сами ошибки:

I, [2025-08-14T10:35:56.213949 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name cache -not -path "*/gems/*" -type d -exec rm -rf {} +'
I, [2025-08-14T10:35:56.325831 #1]  INFO -- : 
I, [2025-08-14T10:35:56.325961 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'find /var/www/discourse/vendor/bundle -name tmp -type d -exec rm -rf {} +'
I, [2025-08-14T10:35:56.430781 #1]  INFO -- : 
I, [2025-08-14T10:35:56.431139 #1]  INFO -- : > cd /var/www/discourse && sudo -E -u discourse bundle exec rake multisite:migrate
`/root` не доступен для записи.
Bundler временно использует `/tmp/bundler20250814-776-hjo98w776` как ваш домашний каталог.
2025-08-14 10:36:05.626 UTC [872] discourse@b_discourse ERROR:  permission denied to create extension "vector"
2025-08-14 10:36:05.626 UTC [872] discourse@b_discourse HINT:  Must be superuser to create this extension.
2025-08-14 10:36:05.626 UTC [872] discourse@b_discourse STATEMENT:  CREATE EXTENSION IF NOT EXISTS "vector"
2025-08-14 10:36:05.627 UTC [872] discourse@b_discourse ERROR:  current transaction is aborted, commands ignored until end of transaction block
2025-08-14 10:36:05.627 UTC [872] discourse@b_discourse STATEMENT:  SELECT 1 FROM pg_available_extensions WHERE name = 'vector';
2025-08-14 10:36:05.753 UTC [873] discourse@c_discourse ERROR:  permission denied to create extension "vector"
2025-08-14 10:36:05.753 UTC [873] discourse@c_discourse HINT:  Must be superuser to create this extension.
2025-08-14 10:36:05.753 UTC [873] discourse@c_discourse STATEMENT:  CREATE EXTENSION IF NOT EXISTS "vector"
2025-08-14 10:36:05.753 UTC [873] discourse@c_discourse ERROR:  current transaction is aborted, commands ignored until end of transaction block
2025-08-14 10:36:05.753 UTC [873] discourse@c_discourse STATEMENT:  SELECT 1 FROM pg_available_extensions WHERE name = 'vector';
2025-08-14 10:36:05.870 UTC [874] discourse@d_discourse ERROR:  permission denied to create extension "vector"
2025-08-14 10:36:05.870 UTC [874] discourse@d_discourse HINT:  Must be superuser to create this extension.
2025-08-14 10:36:05.870 UTC [874] discourse@d_discourse STATEMENT:  CREATE EXTENSION IF NOT EXISTS "vector"
2025-08-14 10:36:05.870 UTC [874] discourse@d_discourse ERROR:  current transaction is aborted, commands ignored until end of transaction block
2025-08-14 10:36:05.870 UTC [874] discourse@d_discourse STATEMENT:  SELECT 1 FROM pg_available_extensions WHERE name = 'vector';

Любая помощь или подсказки будут очень кстати!

Вы выполняете это от имени пользователя root (запустили sudo -s перед этим)?

Привет @NateDhaliwal, да, я работаю от имени root.

Я решил это в PostgreSQL (сначала мне пришлось перезапустить Docker командой service restart docker)

./launcher enter app
sudo -u postgres psql

затем выполните следующие команды для базы данных каждого сайта:

\c b_discourse
CREATE EXTENSION IF NOT EXISTS vector;