Problema ao atualizar para a versão mais recente

Olá, estou tentando atualizar o Discourse para a versão mais recente.

FAILED
--------------------
Pups::ExecError: /root/upgrade_postgres falhou com o retorno #<Process::Status: pid 45 exit 1>
Local da falha: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falhou com os parâmetros "/root/upgrade_postgres"
1cafe54cd6661316d8e9e393c54f73ab89bc3f5e70e104f6c5e4f8794053c09c
** FALHA NA INICIALIZAÇÃO ** por favor, role para cima e procure mensagens de erro anteriores, pode haver mais de uma.
./discourse-doctor pode ajudar a diagnosticar o problema.

Também

 Sucesso. Agora você pode iniciar o servidor de banco de dados usando:

    pg_ctlcluster 10 main start

Aviso: O diretório stats_temp_directory selecionado /var/run/postgresql/10-main.pg_stat_tmp
não é gravável para o proprietário do cluster. Essa configuração não foi adicionada em
postgresql.conf.
Ver Cluster Porta Status Proprietário    Diretório de dados              Arquivo de log
10  main    5433 desligado   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: aviso: forçando reinstalação da alternativa /usr/share/postgresql/12/man/man1/postmaster.1.gz porque o grupo de links postmaster.1.gz está quebrado
invoke-rc.d: não foi possível determinar o nível de execução atual
invoke-rc.d: política-rc.d negou a execução de start.
Processando gatilhos para postgresql-common (213.pgdg100+1) ...
Construindo dicionários PostgreSQL a partir de pacotes myspell/hunspell instalados...
Removendo arquivos de dicionário obsoletos:
Parando servidor de banco de dados PostgreSQL 10: main.
Parando servidor de banco de dados PostgreSQL 12: main.
Executando verificações de consistência
-----------------------------
Verificando versões do cluster                                   ok

O cluster de origem não foi desligado corretamente.
Falha, saindo

Saída do comando tail -f shared/standalone/log/var-log/postgres/current:

2020-06-14 01:37:02.155 UTC [3508] FATAL:  o diretório de dados "/shared/postgres_data" tem propriedade incorreta
2020-06-14 01:37:02.155 UTC [3508] DICA:  O servidor deve ser iniciado pelo usuário que possui o diretório de dados.

Adiar a atualização

Se precisar adiar a atualização na sua próxima reconstrução, você pode trocar o modelo do PostgreSQL no seu arquivo app.yml, alterando "templates/postgres.template.yml" para "templates/postgres.10.template.yml".

Isso não é recomendado, pois alguns administradores do site podem esquecer de reverter a alteração depois.

Apliquei isso e o fórum Discourse agora está online. O que podemos fazer a seguir? Atualmente, estou usando “templates/postgres.10.template.yml”

Alguma ideia? Ainda estou usando “templates/postgres.10.template.yml”.

Tente o seguinte:

  1. Edite o app.yml e altere "templates/postgres.10.template.yml" para "templates/postgres.template.yml".

  2. Execute um stop: ./launcher stop app

  3. Tente uma rebuild: ./launcher rebuild app

Atualização Concluída
----------------
As estatísticas do otimizador não são transferidas pelo pg_upgrade, portanto,
assim que iniciar o novo servidor, considere executar:
    ./analyze_new_cluster.sh

Executar este script apagará os arquivos de dados do cluster antigo:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ATUALIZAÇÃO DO POSTGRES CONCLUÍDA

O banco de dados antigo 10 está armazenado em /shared/postgres_data_old

Para concluir a atualização, reconstrua novamente usando:

./launcher rebuild app

E o fórum Discourse está offline neste momento.

Estou tentando executar ./launcher rebuild app novamente, conforme indicado acima.

Sim, isso é esperado.

Sim, siga as instruções e ele deve voltar em breve.

Interessante e incrível, agora a atualização foi concluída com sucesso. Já tentei da mesma maneira várias vezes antes, mas nunca funcionou.

Preciso usar os seguintes comandos para liberar espaço?

As estatísticas do otimizador não são transferidas pelo pg_upgrade, então,
assim que iniciar o novo servidor, considere executar:
    ./analyze_new_cluster.sh

Executar este script excluirá os arquivos de dados do cluster antigo:
    ./delete_old_cluster.sh

Obrigado!

Você pode executar as Tarefas opcionais de atualização de postagem listadas em nossa FAQ.

Maravilhoso. Obrigado novamente!