PostgreSQL(可能)出问题了

这是我获取 Discourse 设置脚本的地方:
GitHub - discourse/discourse_docker: A Docker image for Discourse · GitHub /var/discourse

在创建新的 Discourse 实例时,它可以正常运行。

但当我尝试用旧的 Discourse 数据重建应用时,问题出现了。

以下是部分日志:

**正在将数据同步到磁盘 ... 成功**

**成功。现在可以使用以下命令启动数据库服务器:**

**    pg_ctlcluster 10 main start**

**警告:选定的 stats_temp_directory /var/run/postgresql/10-main.pg_stat_tmp**
**postgresql.conf**
**对于集群所有者不可写。未将此设置添加到配置中。**
**Ver 集群 端口 状态 所有者    数据目录                          日志文件**
**10  main    5433 停止  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 (215.pgdg100+1) 的触发器...**
**从已安装的 myspell/hunspell 包构建 PostgreSQL 字典...**
**正在删除过时的字典文件:**
**正在停止 PostgreSQL 10 数据库服务器:main。**
**正在停止 PostgreSQL 12 数据库服务器:main。**
**执行一致性检查**
**-----------------------------**
**检查集群版本                                   成功**

**源集群未正常关闭。**
**失败,正在退出**
**-------------------------------------------------------------------------------------**
**PostgreSQL 升级失败**

**请访问 https://meta.discourse.org/t/postgresql-12-update/151236 获取支持**

**在此期间,您可以运行 ./launcher start app 来重启您的应用**




**失败**
**--------------------**
**Pups::ExecError: /root/upgrade_postgres 执行失败,返回状态为 #<Process::Status: pid 47 exit 1>**
**失败位置:/pups/lib/pups/exec_command.rb:112:in `spawn'**
**执行失败,参数为 "/root/upgrade_postgres"**
**43aeccc15b54cbb03c8d665c755aa666012088aaeb8bbd7437faf68d70c28634**
**** 启动引导失败 **请向上滚动查看更早的错误消息,可能不止一条。**
**./discourse-doctor 可能有助于诊断问题。**

看起来是权限问题。

你查看过该主题以寻找线索了吗?

这些数据是从另一台服务器迁移过来的吗?那台服务器是否正常工作?你能备份并恢复到新服务器吗?

在链接的主题中,有一个专门针对此问题的常见问题解答条目,请按照说明操作:

你查看那个主题找线索了吗?
是的,但到目前为止没什么能帮到我。

这些数据是你从另一台服务器迁移过来的吗?
是的。

那台服务器还能用吗?
不能。

你能备份一下然后恢复到新服务器吗?
不行,我只能复制整个 /var/discourse 文件夹来获取数据。

我已经按照说明操作了,但问题仍然存在。

在数据库运行时,您无法在服务器之间复制数据并期望其正常工作。

若要在服务器之间进行迁移,您可以使用我们的备份功能,并参考 将 Discourse 实例迁移到另一台服务器