有趣的是,我遇到了相同或类似的错误。运行于 Discourse 2.9.0.beta2,并尝试更新到 ß3。我禁用了除 docker_manager 之外的所有插件,以运行 ./launcher rebuild app。运行在一个外部 PGSQL 数据库上,版本为:
$ psql --version
psql (PostgreSQL) 14.1 (Ubuntu 14.1-1.pgdg18.04+1)
在失败后,我可以通过 ./launcher restart app 重启容器,但回复时会出现 500 错误。
重建/升级期间的最终错误是:
FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate' failed with return #<Process::Status: pid 658 exit 1>
Location of failure: /usr/local/lib/ruby/gems/2.7.0/gems/pups-1.1.1/lib/pups/exec_command.rb:117:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"db_migrate", "cmd"=>["su discourse -c 'bundle exec rake db:migrate'"]}
bootstrap failed with exit code 1
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
上面实际有意义的错误可以在这里找到:https://p153.p0.n0.cdn.getcloudapp.com/items/jkuvPekN/feb38236-3b84-410e-8fac-d1864d02ba69.txt?v=eb1d15e029cb07a73300d8ec07318876
我很难相信这是一个实际的权限问题,并且我犹豫是否要给 Discourse 数据库用户超级用户/root 权限给 pgsql。
对于这种最近出现的故障,还有什么其他的想法吗?