Actualización de PostgreSQL 18 para autoalojamiento

El panel de Literate Computing ha actualizado con éxito dos sitios independientes y un sitio de dos contenedores sin incidentes. En su mayoría, todo lo que se requirió fue cambiar la versión de Postgres objetivo en una variable, así que, como se anunció, el proceso es el mismo que en las últimas actualizaciones.

En realidad está bastante soportado, es mucho más seguro que actualizar la versión principal de una base de datos. Si algo sale mal, simplemente no cambias al nuevo servidor. Si estás cerca de necesitar una actualización del sistema operativo y/o quieres un tiempo de inactividad mínimo, es una buena opción. Tienes acceso de solo lectura mientras construyes el nuevo servidor y luego cambias a él. La forma fácil implica solo tiempo de inactividad para la reconstrucción final, o cero tiempo de inactividad si copias los certificados del servidor antiguo).

Si todo sale mal con una actualización de base de datos, construir un nuevo servidor y restaurar la copia de seguridad es la solución fácil.

Asegúrate de hacer una copia de seguridad antes de comenzar. Hago una copia de seguridad solo de la base de datos ya que no vas a perder tus archivos subidos.

4 Me gusta

NOTA: No estoy seguro de la razón, pero la actualización a PostgreSQL 18 desactiva las sumas de verificación de datos nativas. Las sumas de verificación de datos de PostgreSQL son una función predeterminada y parece muy inusual desactivarlas.

PR para no deshabilitar las comprobaciones de datos (habilitadas por defecto): Do not disable PostgreSQL 18 data checksums - Pull Request #1105 - discourse/discourse_docker - GitHub

Y es mejor que tener que liberar 20 GB durante la única hora que lo necesitas en todo un año, jaja

Quizás esta debería ser la recomendación oficial para salvar árboles y agua. :sweat_smile:

Solo para confirmar, no estoy usando PostgreSQL proporcionado por Discourse y Discourse en sí aún no requiere PG18, ¿correcto? Así que no estoy (aún) obligado a actualizar a PG18.

Buena observación. Pero el otro punto es que las versiones LTS se publican cada par de años, así que no está de más hacerlo al mismo tiempo.

Tienes mucho tiempo. Insistieron en… eh, en una versión bastante rápido después de la actualización debido a alguna función que era obligatoria, pero probablemente puedas esperar hasta un año. Sigo el repositorio de discourse_docker. En algún momento empezarán a hablar de eliminar el soporte para PG15; no es algo muy ruidoso y es una forma fácil de estar al tanto de las actualizaciones de componentes internos.

2 Me gusta

Funcionó perfectamente en mi instalación de Pi 5, dos reconstrucciones y listo.

4 Me gusta

¿Tenemos algún benchmark por cierto?

Esto podría animar a otros a seguir nuestras audaces huellas antes.

Mi IA de búsqueda web gratuita me dice:

Para una aplicación Rails típica, pasar de PostgreSQL 15 a 18 puede ofrecer ~10–25 % más de rendimiento en las consultas sin cambios en el código, y hasta un 40 % en patrones de consulta específicos si aprovechas las nuevas funciones de indexación y planificación.

Si es cierto, ¡es una mejora bastante notable! :tada:

1 me gusta