Ошибка при попытке восстановить мой форум

Здравствуйте! Я пытаюсь восстановить свой форум с DO на Lightsail. Всё прошло хорошо, но при попытке восстановления появляется сообщение об ошибке:

[2024-08-03 19:46:08] ERROR: memory required is 77 MB, maintenance_work_mem is 64 MB
[2024-08-03 19:46:08] EXCEPTION: psql failed: ERROR: memory required is 77 MB, maintenance_work_mem is 64 MB

Подскажите, пожалуйста, как это исправить?

Какого размера ваша база данных?

Сколько у вас оперативной памяти?

Это стандартная установка?

80 МБ для моей базы данных.
16 ГБ ОЗУ для VPS.
И да, это стандартная установка.

Странно.

Что я бы сделал, так это зашёл в контейнер, установил vim, отредактировал файл конфигурации postgres, чтобы увеличить параметр, на который он жалуется (перезапустите с помощью “sv restart postgres”) и восстановился из командной строки.

Я не могу найти этот файл. Ты знаешь, где его можно найти?

Вы выполнили эту команду при переустановке discourse./discourse-setup?

./launcher enter app
Путь: /etc/postgresql/13/main/postgresql.conf
Число 13 в пути — это номер версии, и наша версия может отличаться. Перейдите в папку /etc/postgresql, чтобы посмотреть её.

Да, и он автоматически распознал мою оперативную память.

Я даже пытался выполнить чистую установку, но теперь возникает ошибка до завершения загрузки.

Кажется, ничего не работает. Я также пробовал восстановить через rsync.

Позже я попробую восстановить через командную строку, когда лучше разберусь, как передавать резервную копию через командную строку. Пока что я получаю ошибку “permission denied (publickey)”. Но это не проблема Discourse.

Вы можете следовать моему способу восстановления резервной копии сайта.

  1. Сделайте резервную копию файлов сайта и app.yml. Загрузите их на свой Windows.
  2. Переустановите систему VPS, рекомендуется Debian или Ubuntu.
  3. Установите необходимые компоненты Docker (на примере дистрибутива Debian/Ubuntu):
sudo apt install docker.io
sudo apt install git
  1. Установите Discourse:
sudo -s
git clone https://github.com/discourse/discourse_docker.git /var/discourse
cd /var/discourse
chmod 700 containers
  1. Отредактируйте конфигурацию Discourse (акцент сделан):
. /discourse-setup

После выполнения команды вам будет предложено ввести доменное имя. Вам нужно нажать Ctrl+C, чтобы отменить операцию, так как у вас уже есть резервная копия app.yml.
6. Перейдите в папку конфигурации Discourse:

1. cd /var/discourse/containers/ # вход в папку конфигурации
2. rm app.yml # удаление файла конфигурации, созданного по умолчанию
3. загрузите вашу резервную копию app.yml в эту папку
4. cd ... # возврат в папку Discourse
5. . /launcher rebuild app # пересборка Discourse
  1. После пересборки Discourse начните процесс восстановления:
1. mkdir /var/discourse/shared/standalone/backups/default/ # создание папки для резервных копий
2. cd /var/discourse/shared/standalone/backups/default/ # переход в папку и загрузка файлов резервной копии вашего сайта
3. cd /var/discourse/ # возврат в папку Discourse
4. . /launcher enter app # вход в контейнер Discourse
5. discourse enable_restore # включение функции восстановления Discourse
6. discourse restore ваш-сайт-резервная-копия.tar.gz # запуск восстановления резервной копии, заменив ваш-сайт-резервная-копия.tar.gz на имя файла резервной копии вашего сайта

Путь указан верно, я нашёл строку для редактирования. Установил лимит 80 МБ и добавил перезапуск приложения — всё отлично сработало. Я очень доволен. Большое спасибо, Sheng и @pfaffman.

Мы рады, что смогли вам помочь