手动升级失败

你好

—— 正尝试按照以下说明手动更新旧版 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,并将磁盘容量增加至数据库大小的两倍以上。

有什么建议吗?

:尖叫: :尖叫: 你的 Discourse 安装版本有多旧?你使用的是哪个版本?

似乎是 [v1.9.0.beta17 +38]

升级时间到。Discourse 已更新至 v2.4.0.beta10。
此次更新包含大量变更、改进和优化等。:wink:

你搞定了吗?

我在这个领域没有专业知识,但看起来它在尝试获取 Postgres 9.3 时失败了。

不过,Postgres 9.3 早在 2016 年就已经升级到 9.5 了,而你使用的 Discourse 版本是 1.9,那是 2018 年的版本?

这可能与这个问题有关:

我现在没时间阅读这些话题。我只是注意到已经两天没有获得帮助了。

是时候升级了。Discourse 已更新至 v2.4.0.beta10。
期间发生了大量变更、更新和改进等。:wink:

是的,我正在尝试升级。问题是升级失败了。

我只想要一个最新的 Discourse,同时保留旧数据。

该如何操作?

我不明白为什么你使用的是比 [v1.9.0.beta17 +38] 安装或升级时应有的版本更旧的 PostgreSQL 版本。

你是否使用了非官方的 Discourse 安装方法?请查看官方安装方法:discourse/docs/INSTALL.md at main · discourse/discourse · GitHub

无论你采用何种方式,请务必确保已进行备份。

请检查是否有足够的磁盘空间用于 PostgreSQL 升级。官方建议需要至少两倍于数据库大小的可用空间:

我之前发布的另外两个主题也可能有所帮助,但我不确定你遇到问题的具体原因。

“我不明白你为什么要使用比 [v1.9.0.beta17 +38] 安装或升级时应有的版本更旧的 PostgreSQL 版本。

你是否使用了非 Discourse 官方安装方法进行安装?请参阅官方安装方法:discourse/INSTALL.md at master · discourse/discourse · GitHub

我也不清楚。:slight_smile:

我是通过网页服务的 /admin 部分进行升级的。

现在网页服务提示我必须手动更新。

手动升级失败了。

情况就是这样。

我在想,是否可以先手动升级 PostgreSQL,然后再尝试升级 Discourse。这样可行吗?

PG 9.3 确实很旧了,对于 v1.9 版本的 Discourse 安装来说也不太合适。

如果我是你,我会先备份数据,然后在新的主机上安装最新版本的 Discourse,恢复备份,并将主机名迁移到新服务器。

您有独立的数据容器,还是在使用外部数据库?

无论如何,我建议先尝试理查德刚才建议的方案。

您有独立的数据容器,还是在使用外部数据库?

我该如何判断?我的意思是,我如何知道或查找?

如果我是你,我会先备份,然后创建一个运行最新 Discourse 版本的新主机,恢复备份,并将主机名迁移到新服务器。

好的,我想我会试试这个方法。