Estamos usando o Discourse com um banco de dados externo em vez do PostgreSQL integrado baseado em Docker. Recentemente, tivemos que atualizar nosso cluster Postgres para a versão 14, o que fez com que o backup do Discourse falhasse.
Saída do log
[2022-01-17 03:38:08] Dumping the public schema of the database...
[2022-01-17 03:38:08] pg_dump: error: server version: 14.1 (Ubuntu 14.1-1.pgdg18.04+1); pg_dump version: 13.5 (Debian 13.5-1.pgdg100+1)
[2022-01-17 03:38:08] pg_dump: error: aborting because of server version mismatch
[2022-01-17 03:38:08] EXCEPTION: pg_dump failed
Existe alguma maneira de atualizar o postgresql-client 13.5-1.pgdg100+1 do contêiner para a versão 14?
Atualizamos as versões do Postgres a cada duas versões, pois a atualização do banco de dados requer uma quantidade tremenda de recursos de engenharia. Atualmente, estamos no Postgres 13, então atualizaremos para o Postgres 15.1 quando for lançado (a versão de correção de bugs).
Eu entendo, mas obrigado por apontar a política de atualização - é muito bom saber. Estamos cientes dos recursos de engenharia em relação ao banco de dados. Eu amo o Postgres, mas atualizar nosso cluster geralmente nos transforma em católicos devotos - muitas orações antes, mas ainda assim muito sangue, suor e lágrimas.
Isso causaria algum problema de dependência com os gems do Ruby da própria aplicação? Pelo que entendi, adicionar apt install como um hook requer um launcher rebuild app, certo? Se sim, eu pularia isso para outra atualização temida, pois descrito aqui em outro tópico meu, enfrentamos problemas massivos de reconstrução do aplicativo na China. Essa é a razão pela qual eu gostaria de esclarecer se apenas entrar no aplicativo e depois instalá-lo manualmente via apt resolveria o problema.
Sugiro que você teste em um site de staging antes de fazer qualquer coisa em produção, mas acho que não haverá problemas com os gems Ruby. Instalá-lo no container em execução também deve funcionar.
??? leva uma quantidade tremenda de recursos de engenharia ???
Parece que estas linhas simples de comandos para atualizar o banco de dados postgresql de 13.5 para 14.1 resolvem o problema de backup… Saúde
cd /var/discourse
./launcher enter app
sudo apt-get install postgresql