Actualización de PostgreSQL 15

[cita=“Firepup650, post:151, topic:349515”]
.s.PGSQL.50432"
[/cita]

¿Así que en algún lugar cambiaste el puerto de postgres a 50432 en lugar de 5432? (O tal vez el código de migración hace eso y nunca me he dado cuenta).

¿Tal vez cambiar a la plantilla postgres13 como se sugiere en el OP? Y si eso funciona, lo que yo haría es mudarme a un nuevo servidor y evitar todo el problema de la transición a una nueva versión de postgres y simplemente restaurar la base de datos al nuevo servidor.

2 Me gusta

No lo cambié, y ese socket existe, así que… :person_shrugging:

Lo hice por ahora, pero supongo que es una mala idea a largo plazo.

Se lo haré saber a quien administre el servidor.

2 Me gusta

Así que tal vez ejecute dos postgres para hacer la mudanza.

Cierto, ¡pero me alivia que hayas vuelto!

1 me gusta

No tengo suficiente espacio para realizar esta actualización en mi partición de Discourse. Sin embargo, tengo mucho espacio en otra unidad. ¿Hay alguna forma de usarla para el almacenamiento temporal?

1 me gusta

Probablemente sea hora de actualizar el sistema operativo de todos modos, y migrar a una VM nueva es mucho más fácil, requiere poco tiempo de inactividad y, si algo sale mal, aún tienes un servidor en funcionamiento.

Si tienes un contenedor de datos independiente, puedes intentar mover todo /var/discourse/shared/data a la otra partición y ajustar los volúmenes en tu YML en consecuencia.

Y si no tienes un contenedor separado, puedes hacer algo así, es solo más complicado.

2 Me gusta

Tengo un problema similar (¿el mismo?). ¿Revisaste el log mencionado?

En mi caso: Al actualizar, primero tuve un problema en el que el contenedor de la aplicación (en mi caso, solo web) no se reconstruía porque había agregado rss-polling como un plugin personalizado y esto parecía chocar con los valores predeterminados nuevos. Después de eliminarlo, funcionó.

Pero luego tuvo problemas con la extensión vectorial faltante. Esto se debió a que no había reconstruido el contenedor de datos en mucho tiempo. Logré hacerlo hasta la versión 13, pero ahora me encuentro atascado con la versión 13 en ejecución. Si cambio mi data.yaml a postgres.template o postgres.15.template, la migración falla.

Primero falló con “apagado incompleto” y con las pistas anteriores pude resolverlo. Pero ahora la migración falla, ya que parece faltar la instalación de la versión 13. ¿Quizás esto esté relacionado con algunos restos en el directorio /shared? (Ya intenté limpiar el directorio postgres_new).


-----------------------------------------------------------------
  pg_upgrade ejecutado el vie 17 oct 09:54:37 2025
-----------------------------------------------------------------

comando: \"/usr/lib/postgresql/13/bin/pg_ctl\" -w -l \"/shared/postgres_data_new/pg_upgrade_output.d/20251017T095437.518/log/pg_upgrade_server.log\" -D \"/shared/postgres_data\" -o \"-p 50432 -b  -c listen_addresses='' -c unix_socket_permissions=0700 -c unix_socket_directories='/var/lib/postgresql'\" start > \"/shared/postgres_data_new/pg_upgrade_output.d/20251017T095437.518/log/pg_upgrade_server.log\" 2>&1
esperando a que el servidor se inicie....2025-10-17 09:54:37.744 UTC [1900] LOG:  iniciando PostgreSQL 13.22 (Debian 13.22-1.pgdg12+1) en x86_64-pc-linux-gnu, compilado por gcc (Debian 12.2.0-14+deb12u1) 12.2.0, 64-bit
2025-10-17 09:54:37.749 UTC [1900] LOG:  escuchando en el socket Unix \"/var/lib/postgresql/.s.PGSQL.50432\"
2025-10-17 09:54:37.760 UTC [1900] LOG:  no se pudo abrir el archivo de configuración \"/etc/postgresql/13/main/pg_hba.conf\": No existe tal archivo o directorio
2025-10-17 09:54:37.760 UTC [1900] FATAL:  no se pudo cargar pg_hba.conf
2025-10-17 09:54:37.762 UTC [1900] LOG:  el sistema de bases de datos está apagado
 stopped waiting
pg_ctl: no se pudo iniciar el servidor
Examine el resultado del log.

Lo que probablemente haría es volver a PG13 con el contenedor antiguo (si puedes averiguar cómo) luego hacer una copia de seguridad y moverlo a un nuevo servidor (probablemente necesites un nuevo sistema operativo de todos modos).

Parece que el contenedor que tienes está en un estado roto. ¿Está intentando reconstruir con la plantilla PG13? Es posible que necesites mover la carpeta de copia de seguridad de postgres a postgres_data y volver a la versión 13 para que las cosas vuelvan a funcionar.

Sí, actualmente estoy ejecutando con el Contenedor PG13. Lo he reconstruido varias veces. Incluso limpié el directorio _new pendiente. Simplemente, cada vez que intento ir a la plantilla 15 o a la plantilla oficial sin versión, falla. Lo migraré manualmente pronto si esto no se soluciona solo. No veo cómo el sistema operativo es relevante aquí.

Reestructuraría el montaje de su volumen para que todo el directorio Shared o shared/postgres esté en el mismo volumen, entonces los cambios de nombre de directorio (que se necesitan regularmente) ya no serán un problema.

Puede que no esté relacionado con el problema inmediato. A menudo ocurre que si has estado ejecutando Discourse el tiempo suficiente como para necesitar una actualización de PostgreSQL, es probable que también necesites una actualización del sistema operativo.

Pasarse a un servidor nuevo te permite hacerlo con prácticamente cero tiempo de inactividad y sin riesgo de terminar en un estado defectuoso.

Por otro lado, la mayoría de las actualizaciones que realicé con mi script (que simplemente hace lo descrito aquí) salieron sin problemas.

Creo que deberías cambiar al no versionado y luego hacer las dos reconstrucciones.

Lo hice, tampoco funciona, ambos fallan. Así que lo haré manualmente.

8 publicaciones se dividieron en un nuevo tema: Problemas con la actualización de postgres 15