Backups falham com banco de dados Postgres 16 (e todos PG>13)

Olá a todos, deparei-me com este problema hoje. O sintoma foi que estávamos recebendo alertas há cerca de 6 dias de que os backups estavam falhando, e as linhas de log principais pareciam ser:

[2025-06-14 03:30:20] pg_dump: error: aborting because of server version mismatch
[2025-06-14 03:30:20] pg_dump: detail: server version: 16.9; pg_dump version: 15.12 (Debian 15.12-1.pgdg120+1)

Eu executo o Discourse no Ubuntu rodando em um droplet da Digital Ocean, usando o guia de instalação recomendado. Mas eu uso o banco de dados Managed Postgres da Digital Ocean em vez de um contêiner postgres. Olhando para o meu banco de dados, ele está rodando pg 16. Não acho que eles o atualizaram recentemente (e eu não esperaria que uma atualização de versão principal fosse automática de qualquer maneira), mas enviei um e-mail para o suporte deles para verificar.

De qualquer forma, minha pesquisa me levou a esta página. Eu não tinha certeza onde colocar o YAML que @pfaffman postou, então executei os comandos manualmente e pensei em compartilhar para qualquer outra pessoa que se depare com isso:

  • cd /var/discourse
  • launcher enter app
  • apt list --installed | grep postgres # para confirmar que a versão atualmente instalada é 15
  • apt-get update
  • apt-get remove postgresql-client-15
  • apt-get install postgresql-client-16

Em seguida, acionei um backup manual na página de backups do administrador.

Isso parece ter resolvido o problema temporariamente, mas como @pfaffman apontou, eu espero que da próxima vez que eu atualizar o discourse, ele volte para postgresql-client-15, e os backups pararão de funcionar novamente, exigindo a intervenção manual acima.

Existe alguma solução para este problema além de ter que repetir essas etapas toda vez que eu atualizar o discourse?