Проблема с обновлением до последней версии

Привет, я пытаюсь обновить Discourse до последней версии.

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres завершился с ошибкой, код возврата #<Process::Status: pid 45 exit 1>
Место сбоя: /pups/lib/pups/exec_command.rb:112:in `spawn'
Выполнение команды не удалось с параметрами "/root/upgrade_postgres"
1cafe54cd6661316d8e9e393c54f73ab89bc3f5e70e104f6c5e4f8794053c09c
** СБОЙ ПРИ ЗАПУСКЕ ** Пожалуйста, прокрутите вверх и поищите более ранние сообщения об ошибках; их может быть несколько.
Утилита ./discourse-doctor может помочь в диагностике проблемы.

Также:

 Успешно. Теперь вы можете запустить сервер базы данных командой:

    pg_ctlcluster 10 main start

Предупреждение: выбранная директория stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp
не доступна для записи владельцем кластера. Эта настройка не будет добавлена в
postgresql.conf.
Ver Cluster Port Status Owner    Data directory              Log file
10  main    5433 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: предупреждение: принудительная повторная установка альтернативы /usr/share/postgresql/12/man/man1/postmaster.1.gz, так как группа ссылок postmaster.1.gz повреждена
invoke-rc.d: не удалось определить текущий уровень выполнения
invoke-rc.d: политика policy-rc.d запретила выполнение запуска.
Обработка триггеров для postgresql-common (213.pgdg100+1) ...
Создание словарей PostgreSQL из установленных пакетов myspell/hunspell...
Удаление устаревших файлов словарей:
Остановка сервера базы данных PostgreSQL 10: main.
Остановка сервера базы данных PostgreSQL 12: main.
Выполнение проверок согласованности
-----------------------------
Проверка версий кластеров                                   ok

Исходный кластер был остановлен некорректно.
Ошибка, выход из программы

Результат выполнения команды tail -f shared/standalone/log/var-log/postgres/current:

2020-06-14 01:37:02.155 UTC [3508] FATAL:  каталог данных "/shared/postgres_data" имеет неправильные права доступа
2020-06-14 01:37:02.155 UTC [3508] HINT:  сервер должен быть запущен пользователем, которому принадлежит каталог данных.

Откладывание обновления

Если вам нужно отложить обновление при следующей пересборке, вы можете заменить шаблон PostgreSQL в файле app.yml, изменив "templates/postgres.template.yml" на "templates/postgres.10.template.yml" .

Это не рекомендуется, так как некоторые администраторы сайтов могут забыть отменить это изменение впоследствии.

Я применил это, и форум Discourse теперь работает. Что делать дальше? В настоящее время я использую “templates/postgres.10.template.yml”

Есть какие-то идеи? Я все еще использую «templates/postgres.10.template.yml».

Попробуйте следующее:

  1. Отредактируйте файл app.yml и замените "templates/postgres.10.template.yml" на "templates/postgres.template.yml".

  2. Остановите приложение: ./launcher stop app

  3. Попробуйте выполнить пересборку: ./launcher rebuild app

Обновление завершено
----------------
Статистика оптимизатора не переносится утилитой pg_upgrade, поэтому
после запуска нового сервера рекомендуется выполнить:
    ./analyze_new_cluster.sh

Запуск этого скрипта удалит файлы данных старого кластера:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ОБНОВЛЕНИЕ POSTGRES ЗАВЕРШЕНО

Старая база данных версии 10 хранится в /shared/postgres_data_old

Для завершения обновления выполните повторную сборку с помощью:

./launcher rebuild app

Форум Discourse в данный момент недоступен.

Я пытаюсь снова выполнить ./launcher rebuild app, как указано выше.

Да, это ожидаемо.

Да, следуйте инструкциям, и всё должно скоро восстановиться.

Интересно и здорово, обновление успешно завершено. Я пробовал делать то же самое много раз, но раньше ничего не получалось.

Мне нужно использовать следующие команды для освобождения места?

Статистика оптимизатора не переносится pg_upgrade, поэтому
после запуска нового сервера рекомендуется выполнить:
    ./analyze_new_cluster.sh

Запуск этого скрипта удалит файлы данных старого кластера:
    ./delete_old_cluster.sh

Спасибо!

Вы можете выполнить дополнительные задачи обновления поста, перечисленные в нашем FAQ.

Превосходно. Ещё раз спасибо!