Discourse no se ejecuta ni se reconstruye aleatoriamente

De la nada, Discourse ya no quiere ejecutarse y ni siquiera se reconstruye usando ./launcher rebuild app. También comenté todos los plugins.

Aquí están los registros cuando intento iniciarlo: https://codefile.io/f/8XUuOqyEDd

Aquí están los registros cuando uso ./launcher rebuild app. Veo algo sobre “falló al escuchar en el puerto 6379 (TCP) abortando”, ¡pero no tengo nada ejecutándose en ese puerto!

https://codefile.io/f/zxCBRzEOA9

No creo que esté relacionado con tu problema. Esta advertencia a menudo (¿siempre?) aparece durante una reconstrucción.

error: connection to server on socket "/var/run/postgresql/.s.PGSQL.5432" failed: Connection refused

Creo que tu problema probablemente proviene de esto.

Esto podría dar pistas:

¿Sería esto lo que está causando que no funcione cuando lo ejecuto (sin hacer ningún ./launcher rebuild app)?

Detuve todos los demás servicios en mi servidor y actualicé a la última versión LTS de Ubuntu y aún muestra esto:

PG::ConnectionBad: conexión al servidor en el socket "/var/run/postgresql/.s.PGSQL.5432" falló: Conexión rechazada (PG::ConnectionBad)
        ¿El servidor está en funcionamiento localmente y aceptando conexiones en ese socket?

que es lo que pensaría que es el error.

El intercambio de plantillas con 13 e incluso 15 no resolvió el problema, que es lo que se mostró en la publicación referenciada.

Causado por:
PG::ConnectionBad: la conexión al servidor en el socket “/var/run/postgresql/.s.PGSQL.5432” falló: No existe tal archivo o directorio (PG::ConnectionBad)
¿Está el servidor ejecutándose localmente y aceptando conexiones en ese socket?

timeout: down: postgres: 1s, normally up, want up

Parece que la base de datos no se está iniciando correctamente. Los registros muestran que ocasionalmente parece iniciarse correctamente, pero solo por un corto tiempo, por lo que podría ser una pista falsa.

ok: run: postgres: (pid 315501) 0s

Los registros de postgres podrían dar alguna pista del problema, especialmente al intentar iniciar el contenedor de la aplicación.

tail -f shared/standalone/log/var-log/postgres/current
2 Me gusta

¿Hiciste la actualización de PostgreSQL 15?

Yo también creo que se trata de un cierre inesperado. Si tienes una copia de seguridad, lo que haría sería iniciar una nueva máquina virtual y restaurarla. Puedes seguir Mover un sitio de Discourse a otro VPS con rsync y excluir postgres_*.

La alternativa, que es tu única opción si no tienes una copia de seguridad, será averiguar un montón de cosas sobre postgres que no querrás aprender.

¿Cómo puedo acceder a mis copias de seguridad si mi foro está caído (es decir, no puedo ir a la configuración de administración y descargar una copia de seguridad)?

Además, no intenté migrar nada, lo he estado usando normalmente y actualizando a través de la interfaz web. ¿Por qué tendría la base de datos un cierre no limpio?

Proporcionaré los registros de Postgres, un segundo.

2025-03-22 00:30:44.110 UTC [4922] FATAL: el archivo de bloqueo "postmaster.pid" está vacío
2025-03-22 00:30:44.110 UTC [4922] HINT: O bien otro servidor se está iniciando, o el archivo de bloqueo es el remanente de un bloqueo anterior al inicio del servidor.
2025-03-22 00:30:45.127 UTC [4964] FATAL: el archivo de bloqueo "postmaster.pid" está vacío
2025-03-22 00:30:45.127 UTC [4964] HINT: O bien otro servidor se está iniciando, o el archivo de bloqueo es el remanente de un bloqueo anterior al inicio del servidor.
2025-03-22 00:30:46.151 UTC [4966] FATAL: el archivo de bloqueo "postmaster.pid" está vacío
2025-03-22 00:30:46.151 UTC [4966] HINT: O bien otro servidor se está iniciando, o el archivo de bloqueo es el remanente de un bloqueo anterior al inicio del servidor.
2025-03-22 00:30:47.168 UTC [4970] FATAL: el archivo de bloqueo "postmaster.pid" está vacío
2025-03-22 00:30:47.168 UTC [4970] HINT: O bien otro servidor se está iniciando, o el archivo de bloqueo es el remanente de un bloqueo anterior al inicio del servidor.
2025-03-22 00:30:48.192 UTC [4977] FATAL: el archivo de bloqueo "postmaster.pid" está vacío
2025-03-22 00:30:48.192 UTC [4977] HINT: O bien otro servidor se está iniciando, o el archivo de bloqueo es el remanente de un bloqueo anterior al inicio del servidor.

-rw------- 1 syslog kvm 0 18 de mar 19:48 /var/discourse/shared/standalone/postgres_data/postmaster.pid

Aquí es donde está mi archivo de bloqueo.

Están en /var/discourse/shared/standalone/backups/default

Si sigues las instrucciones de rsync que enlacé anteriormente, las obtendrás.

Se bloqueó o el servidor se reinició o sucedieron cosas.

La base de datos se “migra” de un conjunto de tablas (las tablas se añaden y cambian) a otro en la mayoría de las actualizaciones.

Podrías intentar detener el contenedor y eliminar ese archivo de bloqueo

Y mira en PG_VERSION para ver qué versión tienes, ya que creo que intentaste cambiar la plantilla.

Sí, intenté cambiar después de ver el error.

Entonces, ¿haría rm /var/discourse/shared/standalone/postgres_data/postmaster.pid? para eliminar el archivo de bloqueo y luego intentar reconstruir.

También, gracias por ayudarme con esto.

1 me gusta

¿Haría este comando para eliminar el archivo de bloqueo?

¡rm /var/discourse/shared/standalone/postgres_data/postmaster.pid fue la solución, gracias!

4 Me gusta

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.