Problema al actualizar a la última versión

Hola, estoy intentando actualizar Discourse a la última versión.

FALLO
--------------------
Pups::ExecError: /root/upgrade_postgres falló con el retorno #<Process::Status: pid 45 salida 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
La ejecución falló con los parámetros "/root/upgrade_postgres"
1cafe54cd6661316d8e9e393c54f73ab89bc3f5e70e104f6c5e4f8794053c09c
** NO SE LOGRÓ EL INICIO ** por favor, desplázate hacia arriba y busca mensajes de error anteriores; puede haber más de uno.
./discourse-doctor puede ayudar a diagnosticar el problema.

Además:

 Éxito. Ahora puedes iniciar el servidor de base de datos usando:

    pg_ctlcluster 10 main start

Advertencia: El directorio stats_temp_directory seleccionado /var/run/postgresql/10-main.pg_stat_tmp
no es escribible para el propietario del clúster. No se añadirá esta configuración en
postgresql.conf.
Ver Clúster Puerto Estado Propietario Directorio de datos Archivo de log
10  main    5433 detenido postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: advertencia: forzando la reinstalación de la alternativa /usr/share/postgresql/12/man/man1/postmaster.1.gz porque el grupo de enlaces postmaster.1.gz está roto
invoke-rc.d: no se pudo determinar el nivel de ejecución actual
invoke-rc.d: policy-rc.d denegó la ejecución de start.
Procesando disparadores para postgresql-common (213.pgdg100+1) ...
Construyendo diccionarios de PostgreSQL a partir de los paquetes myspell/hunspell instalados...
Eliminando archivos de diccionario obsoletos:
Deteniendo el servidor de base de datos PostgreSQL 10: main.
Deteniendo el servidor de base de datos PostgreSQL 12: main.
Realizando comprobaciones de consistencia
-----------------------------
Comprobando versiones del clúster                                   ok

El clúster de origen no se apagó limpiamente.
Fallo, saliendo

Salida del comando tail -f shared/standalone/log/var-log/postgres/current:

2020-06-14 01:37:02.155 UTC [3508] FATAL: el directorio de datos "/shared/postgres_data" tiene permisos de propiedad incorrectos
2020-06-14 01:37:02.155 UTC [3508] HINT: El servidor debe ser iniciado por el usuario que posee el directorio de datos.

Posponer la actualización

Si necesitas posponer la actualización durante tu próxima reconstrucción, puedes cambiar la plantilla de PostgreSQL en tu archivo app.yml modificando "templates/postgres.template.yml" por "templates/postgres.10.template.yml".

Esto no se recomienda, ya que algunos administradores del sitio podrían olvidar revertir el cambio posteriormente.

Aplicé esto y el foro de Discourse ahora está en línea. ¿Qué podemos hacer a continuación? Actualmente, estoy usando “templates/postgres.10.template.yml”

¿Alguna idea? Todavía estoy usando “templates/postgres.10.template.yml”.

Prueba lo siguiente:

  1. Edita el archivo app.yml y cambia "templates/postgres.10.template.yml" por "templates/postgres.template.yml".

  2. Ejecuta un stop: ./launcher stop app

  3. Intenta una reconstrucción: ./launcher rebuild app

2 Me gusta
Actualización completada
----------------
Las estadísticas del optimizador no se transfieren mediante pg_upgrade, por lo que,
una vez inicie el nuevo servidor, considere ejecutar:
    ./analyze_new_cluster.sh

Ejecutar este script eliminará los archivos de datos del clúster antiguo:
    ./delete_old_cluster.sh
-------------------------------------------------------------------------------------
ACTUALIZACIÓN DE POSTGRES COMPLETADA

La base de datos antigua 10 se encuentra almacenada en /shared/postgres_data_old

Para completar la actualización, vuelva a generar usando:

./launcher rebuild app

Y el foro de Discourse está fuera de línea en este momento.

Estoy intentando ejecutar ./launcher rebuild app nuevamente como se indicó arriba.

Sí, eso es lo esperado.

Sí, sigue las instrucciones y debería volver pronto.

1 me gusta

Interesante y genial, ahora la actualización se ha completado con éxito. He intentado el mismo método muchas veces antes, pero nunca había sucedido.

¿Necesito usar los siguientes comandos para liberar espacio?

Las estadísticas de optimización no se transfieren mediante pg_upgrade, por lo que,
una vez que inicies el nuevo servidor, considera ejecutar:
    ./analyze_new_cluster.sh

Ejecutar este script eliminará los archivos de datos del clúster antiguo:
    ./delete_old_cluster.sh

¡Gracias!

Puedes ejecutar las Tareas opcionales de actualización de publicaciones enumeradas en nuestra sección de preguntas frecuentes.

1 me gusta

Genial. ¡Gracias de nuevo!

1 me gusta

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