Ручное обновление не удалось

Привет

– пытаюсь вручную обновить старый Discourse по этой инструкции

Постоянно получаю эту ошибку:

Pups::ExecError: apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3 завершилась с ошибкой, код возврата: #<Process::Status: pid 18 exit 100>

Место ошибки: /pups/lib/pups/exec_command.rb:112:in `spawn’

Выполнение команды не удалось с параметрами “apt-get update && apt-get install -y postgresql-9.3 postgresql-client-9.3 postgresql-contrib-9.3”

a2bd7274278e546582a98ef46371b18564f416c2cadaa46a6ec6c58a5a3f162f

** НЕ УДАЛОСЬ ЗАПУСТИТЬ ** пожалуйста, прокрутите вверх и поищите сообщения об ошибках, возникших ранее; их может быть несколько.

./discourse-doctor может помочь в диагностике проблемы.

Я обновился до Ubuntu 18.04.3 LTS и увеличил размер диска более чем вдвое по сравнению с размером базы данных.

Есть какие-то идеи?

:сcream: :сcream: Сколько лет вашей установке Discourse? На какой версии вы работаете?

Кажется, это [v1.9.0.beta17 +38]

Время для обновления. Discourse обновлён до версии v2.4.0.beta10.
Произошло множество изменений, обновлений и улучшений и т. д. :wink:

У вас получилось заставить это работать?

У меня нет опыта в этой области, но кажется, что процесс завершается неудачей при попытке получить PostgreSQL 9.3.

Однако эта версия была обновлена до 9.5 ещё в 2016 году, а вы используете версию Discourse 1.9, которая вышла в 2018 году?

Возможно, это связано с этой проблемой:

Сейчас у меня нет времени читать эти темы. Я просто заметил, что уже два дня нет никакой помощи.

Время для обновления. Discourse обновлён до версии v2.4.0.beta10.
Произошло множество изменений, обновлений, улучшений и т. д. :wink:

Да. Я пытаюсь обновиться. Проблема в том, что обновление не удаётся.

Мне просто нужна актуальная версия Discourse с сохранением всех старых данных.

Как это сделать?

Я не понимаю, почему вы используете более старую версию PostgreSQL, чем та, которая должна была быть установлена или обновлена для [v1.9.0.beta17 +38].

Вы устанавливали каким-то другим способом, кроме официального метода установки Discourse? Ознакомьтесь с официальным методом установки по ссылке: discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

Как бы вы ни действовали, обязательно сделайте резервную копию.

Проверьте, достаточно ли у вас свободного места на диске для обновления PostgreSQL. По их словам, вам нужно свободное пространство, равное двойному объему базы данных:

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

«Я не понимаю, почему вы используете более старую версию PostgreSQL, чем та, которая была бы установлена или обновлена для [v1.9.0.beta17 +38]»

«Вы устанавливали каким-либо другим способом, кроме официального метода установки Discourse? Ознакомьтесь с официальным методом установки здесь: discourse/INSTALL.md в ветке master · discourse/discourse · GitHub»

Я тоже не понимаю. :slight_smile:

Я обновлял через раздел /admin на веб-сервисе.

Теперь веб-сервис сообщает, что обновление необходимо выполнить вручную.

Ручное обновление не удаётся.

Вот в чём дело.

Интересно, можно ли сначала вручную обновить PostgreSQL, а затем попробовать обновить Discourse. Сработает ли это?

Версия PG 9.3 действительно устарела, и она не подходит для установки Discourse v1.9.

Если бы я был на вашем месте, я бы сделал резервную копию, создал новый хост с актуальной версией Discourse, восстановил бы резервную копию и перенёс бы имя хоста на новый сервер.

У вас есть отдельный контейнер данных или вы используете внешнюю базу данных?

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

У вас отдельный контейнер с данными или используется внешняя база данных?

Как это узнать? То есть, как мне определить или выяснить?

Если бы я был на вашем месте, я бы сделал резервную копию, создал новый хост с актуальной версией Discourse, восстановил из резервной копии и перенёс имя хоста на новый сервер.

Хорошо, думаю, я попробую это сделать.