Actualización de PostgreSQL 18 para autoalojamiento

Es cierto, pero nuestro objetivo es un mecanismo de actualización sencillo y transparente. Ambas opciones tienen sus ventajas.

Diría que hagas lo que te resulte más cómodo y no tengas miedo de personalizar las plantillas en discourse_docker según tus necesidades. Obviamente, lo fundamental es probar primero y tener un plan de reversión.

En nuestra plataforma alojada, tenemos la intención de realizar más pruebas y benchmarks antes de activarlas, por lo que también las deshabilité en discourse_docker para alinear la configuración. Sin embargo, no es estrictamente necesario deshabilitarlas (internamente solo usamos la parte del contenedor web de discourse_docker) y no me opondría a activarlas.

Un posible problema es que pg_upgrade no funcionará si los directorios de datos antiguo y nuevo tienen configuraciones de comprobación de integridad diferentes. El proceso debería consistir en detener el servidor PG15, ejecutar pg_upgrade para convertirlo a PG18 sin comprobaciones de integridad, ejecutar pg_checksums para habilitar las comprobaciones y luego iniciar PG18. Esto no es un problema al hacer una volcado y restauración (como en esta actualización), pero es algo en lo que hay que tener cuidado.

Ten en cuenta que las comprobaciones de integridad de datos están disponibles desde Postgres 9.3, pero hasta ahora se han mantenido deshabilitadas por defecto. Postgres 19 también incluirá la capacidad de habilitarlas o deshabilitarlas en línea.

No, por el momento no. La mayor parte de la funcionalidad de Discourse utiliza el adaptador PostgreSQL de Rails para comunicarse con la base de datos, pero la copia de seguridad y restauración usa pg_dump y psql en el contenedor web. Por ahora, estamos instalando los clientes de PG15 y PG18 para permitir copias de seguridad y restauraciones con ambas versiones, pero en algún momento del futuro eliminaremos PG15.

El factor determinante fue el cambio al nuevo proveedor de localizaciones integrado. Estamos trabajando en una actualización del sistema operativo en nuestra plataforma alojada y queremos romper la dependencia con glibc.

1 me gusta