Las copias de seguridad fallan con bases de datos Postgres 16 (y todas las versiones >13 de PG)

Hola a todos, me encontré con este problema hoy. El síntoma fue que habíamos estado recibiendo alertas durante unos 6 días de que las copias de seguridad estaban fallando, y las líneas de registro clave parecían 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)

Ejecuto Discourse en Ubuntu en un droplet de Digital Ocean, usando la guía de instalación recomendada. Pero uso la base de datos Postgres administrada de Digital Ocean en lugar de un contenedor de postgres. Mirando mi base de datos, está ejecutando pg 16. No creo que la hayan actualizado recientemente (y de todos modos no esperaría una actualización automática de versión mayor), pero he enviado un correo electrónico a su soporte para verificar.

De todos modos, mi investigación me llevó a esta página. No estaba seguro de dónde poner el YAML que publicó @pfaffman, así que ejecuté los comandos manualmente, y pensé en compartirlo para cualquiera que se encuentre con esto:

  • cd /var/discourse
  • launcher enter app
  • apt list --installed | grep postgres # para confirmar que la versión actualmente instalada es 15
  • apt-get update
  • apt-get remove postgresql-client-15
  • apt-get install postgresql-client-16

Luego activé una copia de seguridad manual en la página de administración de copias de seguridad.

Esto parece haber solucionado temporalmente el problema, pero como señaló @pfaffman, espero que la próxima vez que actualice discourse, vuelva a postgresql-client-15, y las copias de seguridad dejarán de funcionar, requiriendo la intervención manual anterior.

¿Hay alguna solución a este problema aparte de tener que repetir estos pasos cada vez que actualizo discourse?