El foro se bloquea después de actualizar desde 2.4.0

¡Hola! Hoy actualicé el foro de forma habitual (admin > panel de control > actualización) desde la versión 2.4.0.
Después de eso, volví a la vista de actualizaciones para continuar con el resto de las actualizaciones y apareció este mensaje:

Estás ejecutando una versión antigua de la imagen de Discourse.
Las actualizaciones mediante la interfaz web están desactivadas hasta que ejecutes la última imagen.

Para hacerlo, inicia sesión en tu servidor mediante SSH y ejecuta:

    cd /var/discourse
    git pull
    ./launcher rebuild app

Hasta ahora, nada nuevo. Abrí la terminal, me conecté a la máquina virtual y seguí esos pasos como siempre, pero ahora recibo un error que nunca había visto antes. Aquí están los registros:

root@foro:/var/discourse# ./launcher rebuild app
Asegurando que el lanzador esté actualizado
Obteniendo origin
El lanzador está actualizado
cd /pups && git pull && /pups/bin/pups --stdin
Ya está actualizado.
I, [2020-07-03T17:40:38.599175 #1]  INFO -- : Cargando --stdin
I, [2020-07-03T17:40:38.608573 #1]  INFO -- : > apt-get remove -y postgresql-10 postgresql-client-10 postgresql-contrib-10
I, [2020-07-03T17:40:40.109309 #1]  INFO -- : Leyendo listas de paquetes...
Construyendo árbol de dependencias...
Leyendo información de estado...
El paquete «postgresql-10» no está instalado, por lo que no se elimina
El paquete «postgresql-client-10» no está instalado, por lo que no se elimina
0 actualizados, 0 nuevos instalados, 0 para eliminar y 0 sin actualizar.

I, [2020-07-03T17:40:40.110000 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
debconf: retrasando la configuración del paquete, ya que apt-utils no está instalado
I, [2020-07-03T17:40:49.742789 #1]  INFO -- : Obteniendo:1 http://security.debian.org/debian-security buster/updates InRelease [65,4 kB]
Obteniendo:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84,6 kB]
Obteniendo:3 http://deb.debian.org/debian buster InRelease
Obteniendo:4 http://deb.debian.org/debian buster-updates InRelease [51,9 kB]
Obteniendo:5 https://deb.nodesource.com/node_10.x buster InRelease [4.584 B]
Obteniendo:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [208 kB]
Obteniendo:7 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [177 kB]
Obteniendo:8 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [3.688 B]
Obteniendo:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-04-2016.16.pdiff [1.101 B]
Obteniendo:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-07-1403.53.pdiff [439 B]
Obteniendo:11 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Obteniendo:11 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Obteniendo:12 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [768 B]
Descargados 599 kB en 1s (686 kB/s)
Leyendo listas de paquetes...
Leyendo listas de paquetes...
Construyendo árbol de dependencias...
Leyendo información de estado...
Paquetes sugeridos:
  postgresql-doc-9.5 libdbd-pg-perl
Se instalarán los siguientes paquetes NUEVOS:
  postgresql-9.5 postgresql-client-9.5 postgresql-contrib-9.5
0 actualizados, 3 nuevos instalados, 0 para eliminar y 13 sin actualizar.
Se necesitan descargar 5.700 kB de archivos.
Tras esta operación, se utilizarán 27,2 MB adicionales de espacio en disco.
Obteniendo:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-9.5 amd64 9.5.22-1.pgdg100+1 [1.252 kB]
Obteniendo:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-9.5 amd64 9.5.22-1.pgdg100+1 [3.985 kB]
Obteniendo:3 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-contrib-9.5 amd64 9.5.22-1.pgdg100+1 [463 kB]
Descargados 5.700 kB en 0s (27,1 MB/s)
Seleccionando el paquete previamente no seleccionado postgresql-client-9.5.
(Leyendo la base de datos ... 43929 archivos y directorios instalados actualmente.)
Preparando para desempaquetar .../postgresql-client-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Desempaquetando postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
Seleccionando el paquete previamente no seleccionado postgresql-9.5.
Preparando para desempaquetar .../postgresql-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Desempaquetando postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Seleccionando el paquete previamente no seleccionado postgresql-contrib-9.5.
Preparando para desempaquetar .../postgresql-contrib-9.5_9.5.22-1.pgdg100+1_amd64.deb ...
Desempaquetando postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Configurando postgresql-client-9.5 (9.5.22-1.pgdg100+1) ...
update-alternatives: advertencia: forzando la reinstalación de la alternativa /usr/share/postgresql/12/man/man1/psql.1.gz porque el grupo de enlaces psql.1.gz está roto
Configurando postgresql-9.5 (9.5.22-1.pgdg100+1) ...
Creando nuevo clúster de PostgreSQL 9.5/main ...
/usr/lib/postgresql/9.5/bin/initdb -D /var/lib/postgresql/9.5/main --auth-local peer --auth-host md5
Los archivos que pertenecen a este sistema de base de datos serán propiedad del usuario «postgres».
Este usuario también debe ser propietario del proceso del servidor.

El clúster de bases de datos se inicializará con la localización «C.UTF-8».
La codificación predeterminada de la base de datos se ha establecido en consecuencia como «UTF8».
La configuración predeterminada de búsqueda de texto se establecerá como «inglés».

Las sumas de comprobación de páginas de datos están desactivadas.

Corrigiendo permisos en el directorio existente /var/lib/postgresql/9.5/main ... ok
Creando subdirectorios ... ok
Seleccionando max_connections predeterminado ... 100
Seleccionando shared_buffers predeterminado ... 128MB
Seleccionando zona horaria predeterminada ... Etc/UTC
Seleccionando implementación de memoria compartida dinámica ... posix
Creando archivos de configuración ... ok
Creando base de datos template1 en /var/lib/postgresql/9.5/main/base/1 ... ok
Inicializando pg_authid ... ok
Inicializando dependencias ... ok
Creando vistas del sistema ... ok
Cargando descripciones de objetos del sistema ... ok
Creando colaciones ... ok
Creando conversiones ... ok
Creando diccionarios ... ok
Estableciendo privilegios en objetos integrados ... ok
Creando esquema de información ... ok
Cargando lenguaje del lado del servidor PL/pgSQL ... ok
Vacuando base de datos template1 ... ok
Copiando template1 a template0 ... ok
Copiando template1 a postgres ... ok
Sincronizando datos en disco ... ok

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

    /usr/lib/postgresql/9.5/bin/pg_ctl -D /var/lib/postgresql/9.5/main -l logfile start

Ver Clúster Puerto Estado Propietario Directorio de datos Archivo de registro
9.5 main    5433 apagado   postgres /var/lib/postgresql/9.5/main /var/log/postgresql/postgresql-9.5-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.
Configurando postgresql-contrib-9.5 (9.5.22-1.pgdg100+1) ...
Procesando desencadenadores para postgresql-common (213.pgdg100+1) ...
Construyendo diccionarios de PostgreSQL a partir de los paquetes myspell/hunspell instalados...
Eliminando archivos de diccionarios obsoletos:

I, [2020-07-03T17:40:49.743707 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:40:49.747572 #1]  INFO -- :
I, [2020-07-03T17:40:49.748032 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:40:49.750621 #1]  INFO -- :
I, [2020-07-03T17:40:49.751119 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:40:49.753527 #1]  INFO -- :
I, [2020-07-03T17:40:49.753870 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:40:49.756586 #1]  INFO -- :
I, [2020-07-03T17:40:49.756966 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:40:49.759345 #1]  INFO -- :
I, [2020-07-03T17:40:49.759525 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres ya se está ejecutando, detener contenedor ; exit 1
2020/07/03 17:40:49 socat[1570] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No existe tal archivo o directorio
I, [2020-07-03T17:40:49.764619 #1]  INFO -- :
I, [2020-07-03T17:40:49.764790 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:40:49.768012 #1]  INFO -- :
I, [2020-07-03T17:40:49.768201 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:40:49.771186 #1]  INFO -- :
I, [2020-07-03T17:40:49.771329 #1]  INFO -- : > mkdir -p /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-07-03T17:40:49.773782 #1]  INFO -- :
I, [2020-07-03T17:40:49.774066 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/9.5-main.pg_stat_tmp
I, [2020-07-03T17:40:49.776490 #1]  INFO -- :
I, [2020-07-03T17:40:49.782041 #1]  INFO -- : Archivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:40:49.788039 #1]  INFO -- : Archivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:40:49.788568 #1]  INFO -- : > chown -R root /var/lib/postgresql/9.5/main
I, [2020-07-03T17:40:49.799608 #1]  INFO -- :
I, [2020-07-03T17:40:49.799833 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/9.5/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-03T17:40:49.802712 #1]  INFO -- :
I, [2020-07-03T17:40:49.802859 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:40:49.823259 #1]  INFO -- :
I, [2020-07-03T17:40:49.823552 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:40:49.827629 #1]  INFO -- :
I, [2020-07-03T17:40:49.828112 #1]  INFO -- : Reemplazando data_directory = '/var/lib/postgresql/9.5/main' por data_directory = '/shared/postgres_data' en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.828954 #1]  INFO -- : Reemplazando (?-mix:#?listen_addresses *=.*) por listen_addresses = '*' en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.829559 #1]  INFO -- : Reemplazando (?-mix:#?synchronous_commit *=.*) por synchronous_commit = $db_synchronous_commit en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.830168 #1]  INFO -- : Reemplazando (?-mix:#?shared_buffers *=.*) por shared_buffers = $db_shared_buffers en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.830753 #1]  INFO -- : Reemplazando (?-mix:#?work_mem *=.*) por work_mem = $db_work_mem en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.831385 #1]  INFO -- : Reemplazando (?-mix:#?default_text_search_config *=.*) por default_text_search_config = '$db_default_text_search_config' en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.831981 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-07-03T17:40:49.835928 #1]  INFO -- :
I, [2020-07-03T17:40:49.836456 #1]  INFO -- : Reemplazando (?-mix:#?max_wal_senders *=.*) por max_wal_senders = $db_max_wal_senders en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.837120 #1]  INFO -- : Reemplazando (?-mix:#?wal_level *=.*) por wal_level = $db_wal_level en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.837800 #1]  INFO -- : Reemplazando (?-mix:#?checkpoint_segments *=.*) por checkpoint_segments = $db_checkpoint_segments en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.838367 #1]  INFO -- : Reemplazando (?-mix:#?logging_collector *=.*) por logging_collector = $db_logging_collector en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.838967 #1]  INFO -- : Reemplazando (?-mix:#?log_min_duration_statement *=.*) por log_min_duration_statement = $db_log_min_duration_statement en /etc/postgresql/9.5/main/postgresql.conf
I, [2020-07-03T17:40:49.839599 #1]  INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) por local replication postgres  peer en /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-07-03T17:40:49.840164 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) por host all all 0.0.0.0/0 md5 en /etc/postgresql/9.5/main/pg_hba.conf
I, [2020-07-03T17:40:49.840674 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main
I, [2020-07-03T17:40:49.843014 #1]  INFO -- : > sleep 5
2020-07-03 17:40:49.929 UTC [1589] LOG:  el sistema de bases de datos se apagó en 2020-07-03 17:35:44 UTC
2020-07-03 17:40:49.935 UTC [1589] LOG:  las protecciones contra desbordamiento de MultiXact member ahora están activadas
2020-07-03 17:40:49.939 UTC [1593] LOG:  lanzador de autovacuum iniciado
2020-07-03 17:40:49.939 UTC [1586] LOG:  el sistema de bases de datos está listo para aceptar conexiones
I, [2020-07-03T17:40:54.846567 #1]  INFO -- :
I, [2020-07-03T17:40:54.847806 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: error: no se pudo conectar a la base de datos template1: no se pudo conectar al servidor: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando
	conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:54.926943 #1]  INFO -- :
I, [2020-07-03T17:40:54.927231 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: error: no se pudo conectar al servidor: no se pudo conectar al servidor: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando
	conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.015059 #1]  INFO -- :
I, [2020-07-03T17:40:55.015594 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: error: no se pudo conectar al servidor: no se pudo conectar al servidor: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando
	conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.091507 #1]  INFO -- :
I, [2020-07-03T17:40:55.091839 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: error: no se pudo conectar al servidor: no se pudo conectar al servidor: No existe tal archivo o directorio
	¿Está el servidor ejecutándose localmente y aceptando
	conexiones en el socket de dominio Unix "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:40:55.167810 #1]  INFO -- :
I, [2020-07-03T17:40:55.168235 #1]  INFO -- : Terminando procesos asíncronos
I, [2020-07-03T17:40:55.168298 #1]  INFO -- : Enviando INT a HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/9.5/bin/postmaster -D /etc/postgresql/9.5/main pid: 1586
2020-07-03 17:40:55.168 UTC [1586] LOG:  recibido solicitud de apagado rápido
2020-07-03 17:40:55.168 UTC [1586] LOG:  abortando cualquier transacción activa
2020-07-03 17:40:55.170 UTC [1593] LOG:  lanzador de autovacuum apagándose
2020-07-03 17:40:55.172 UTC [1590] LOG:  apagándose
2020-07-03 17:40:55.189 UTC [1590] LOG:  el sistema de bases de datos se ha apagado


FALLO
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' falló con el retorno #<Process::Status: pid 1618 exit 2>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falló con los parámetros "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
a10b0d1db8256d70432e08508f453835a4bd7dce8f4ac601b6be1031bb3ce01b
** NO SE LOGRÓ INICIALIZAR ** 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.
root@foro:/var/discourse#

Después de intentar todos los trucos clásicos (incluido «apagarlo y encenderlo de nuevo»), me siento un poco perdido. No entiendo por qué no puede acceder a la base de datos :frowning:

¡PostgreSQL 9.5!? Vaya, eso es muy antiguo.

¿Podrías copiar y pegar aquí las primeras líneas del archivo /var/discourse/containers/app.yml?

¡Hola! ¡Gracias por responder!

root@foro:/var/discourse# cat /var/discourse/containers/app.yml
##
## Tras realizar cambios en este archivo, DEBES reconstruir para que
## los cambios surtan efecto en tu instancia de Discourse en vivo:
##
## /var/discourse/launcher rebuild app
##
## ¡Asegúrate de respetar la sintaxis YAML! Puedes usar este sitio para ayudarte a verificar:
## http://www.yamllint.com/

## esta es la plantilla del contenedor Docker de Discourse todo-en-uno y autónoma

# Puedes añadir limitación de tasa descomentando la plantilla web.ratelimited.
# Por defecto permite 12 solicitudes por segundo por IP y 100 por minuto por IP.
# Esto es configurable modificando los parámetros en este archivo.

templates:
  # - "templates/postgres.template.yml"
  - "templates/postgres.9.5.template.yml"
  - "templates/redis.template.yml"
  - "templates/web.template.yml"
  - "templates/web.ratelimited.template.yml"

 ## Comenta las siguientes líneas si deseas añadir Lets Encrypt para tu instalación de Discourse
  - "templates/web.ssl.template.yml"
  - "templates/web.letsencrypt.ssl.template.yml"

Acabo de probar con “templates/postgres.10.template.yml” (ya que acabo de leer aquí), pero sigue arrojando errores:

Launcher is up-to-date
cd /pups && git pull && /pups/bin/pups --stdin
Already up to date.
I, [2020-07-03T17:50:57.037855 #1]  INFO -- : Loading --stdin
I, [2020-07-03T17:50:57.050344 #1]  INFO -- : > DEBIAN_FRONTEND=noninteractive apt-get purge -y postgresql-12 postgresql-client-12 postgresql-contrib-12
I, [2020-07-03T17:50:59.618428 #1]  INFO -- : Reading package lists...
Building dependency tree...
Reading state information...
The following package was automatically installed and is no longer required:
  libllvm7
Use 'apt autoremove' to remove it.
The following packages will be REMOVED:
  postgresql-12* postgresql-client-12*
0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded.
After this operation, 52.8 MB disk space will be freed.
(Reading database ... 43929 files and directories currently installed.)
Removing postgresql-12 (12.2-2.pgdg100+1) ...
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of stop.
Removing postgresql-client-12 (12.2-2.pgdg100+1) ...
Processing triggers for postgresql-common (213.pgdg100+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
(Reading database ... 42106 files and directories currently installed.)
Purging configuration files for postgresql-12 (12.2-2.pgdg100+1) ...
Dropping cluster main...

I, [2020-07-03T17:50:59.618701 #1]  INFO -- : > apt-get update && apt-get install -y postgresql-10 postgresql-client-10 postgresql-contrib-10
debconf: delaying package configuration, since apt-utils is not installed
I, [2020-07-03T17:51:08.574737 #1]  INFO -- : Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
Get:3 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:4 https://deb.nodesource.com/node_10.x buster InRelease [4,584 B]
Get:5 http://apt.postgresql.org/pub/repos/apt buster-pgdg InRelease [84.6 kB]
Get:6 http://security.debian.org/debian-security buster/updates/main amd64 Packages [208 kB]
Get:7 http://deb.debian.org/debian buster-updates/main amd64 Packages.diff/Index [3,688 B]
Get:8 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-04-2016.16.pdiff [1,101 B]
Get:9 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-07-1403.53.pdiff [439 B]
Get:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:10 http://deb.debian.org/debian buster-updates/main amd64 Packages 2020-06-13-2000.26.pdiff [552 B]
Get:11 https://deb.nodesource.com/node_10.x buster/main amd64 Packages [768 B]
Get:12 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 Packages [177 kB]
Fetched 599 kB in 1s (616 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following package was automatically installed and is no longer required:
  libllvm7
Use 'apt autoremove' to remove it.
Suggested packages:
  postgresql-doc-10
The following NEW packages will be installed:
  postgresql-10 postgresql-client-10
0 upgraded, 2 newly installed, 0 to remove and 11 not upgraded.
Need to get 6,390 kB of archives.
After this operation, 30.6 MB of additional disk space will be used.
Get:1 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-client-10 amd64 10.13-1.pgdg100+1 [1,428 kB]
Get:2 http://apt.postgresql.org/pub/repos/apt buster-pgdg/main amd64 postgresql-10 amd64 10.13-1.pgdg100+1 [4,961 kB]
Fetched 6,390 kB in 0s (28.3 MB/s)
Selecting previously unselected package postgresql-client-10.
(Reading database ... 42106 files and directories currently installed.)
Preparing to unpack .../postgresql-client-10_10.13-1.pgdg100+1_amd64.deb ...
Unpacking postgresql-client-10 (10.13-1.pgdg100+1) ...
Selecting previously unselected package postgresql-10.
Preparing to unpack .../postgresql-10_10.13-1.pgdg100+1_amd64.deb ...
Unpacking postgresql-10 (10.13-1.pgdg100+1) ...
Setting up postgresql-client-10 (10.13-1.pgdg100+1) ...
update-alternatives: using /usr/share/postgresql/10/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Setting up postgresql-10 (10.13-1.pgdg100+1) ...
Creating new PostgreSQL cluster 10/main ...
/usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main --auth-local peer --auth-host md5
The files belonging to this database system will be owned by user "postgres".
This user must also own the server process.

The database cluster will be initialized with locale "C.UTF-8".
The default database encoding has accordingly been set to "UTF8".
The default text search configuration will be set to "english".

Data page checksums are disabled.

fixing permissions on existing directory /var/lib/postgresql/10/main ... ok
creating subdirectories ... ok
selecting default max_connections ... 100
selecting default shared_buffers ... 128MB
selecting default timezone ... Etc/UTC
selecting dynamic shared memory implementation ... posix
creating configuration files ... ok
running bootstrap script ... ok
performing post-bootstrap initialization ... ok
syncing data to disk ... ok

Success. You can now start the database server using:

    pg_ctlcluster 10 main start

Ver Cluster Port Status Owner    Data directory              Log file
10  main    5432 down   postgres /var/lib/postgresql/10/main /var/log/postgresql/postgresql-10-main.log
update-alternatives: using /usr/share/postgresql/10/man/man1/postmaster.1.gz to provide /usr/share/man/man1/postmaster.1.gz (postmaster.1.gz) in auto mode
invoke-rc.d: could not determine current runlevel
invoke-rc.d: policy-rc.d denied execution of start.
Processing triggers for postgresql-common (213.pgdg100+1) ...
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:

I, [2020-07-03T17:51:08.576309 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:51:08.579856 #1]  INFO -- :
I, [2020-07-03T17:51:08.580190 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:51:08.582830 #1]  INFO -- :
I, [2020-07-03T17:51:08.583011 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:51:08.585062 #1]  INFO -- :
I, [2020-07-03T17:51:08.585264 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:51:08.587809 #1]  INFO -- :
I, [2020-07-03T17:51:08.588006 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:51:08.590249 #1]  INFO -- :
I, [2020-07-03T17:51:08.590442 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
2020/07/03 17:51:08 socat[1560] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No such file or directory
I, [2020-07-03T17:51:08.596137 #1]  INFO -- :
I, [2020-07-03T17:51:08.596439 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:51:08.600217 #1]  INFO -- :
I, [2020-07-03T17:51:08.600879 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:51:08.604747 #1]  INFO -- :
I, [2020-07-03T17:51:08.604982 #1]  INFO -- : > mkdir -p /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-03T17:51:08.608774 #1]  INFO -- :
I, [2020-07-03T17:51:08.609388 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/10-main.pg_stat_tmp
I, [2020-07-03T17:51:08.613026 #1]  INFO -- :
I, [2020-07-03T17:51:08.621472 #1]  INFO -- : File > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:51:08.628392 #1]  INFO -- : File > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:51:08.628991 #1]  INFO -- : > chown -R root /var/lib/postgresql/10/main
I, [2020-07-03T17:51:08.639852 #1]  INFO -- :
I, [2020-07-03T17:51:08.640419 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/10/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-03T17:51:08.642774 #1]  INFO -- :
I, [2020-07-03T17:51:08.642909 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:51:08.662272 #1]  INFO -- :
I, [2020-07-03T17:51:08.662970 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:51:08.666112 #1]  INFO -- :
I, [2020-07-03T17:51:08.666551 #1]  INFO -- : Replacing data_directory = '/var/lib/postgresql/10/main' with data_directory = '/shared/postgres_data' in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.667306 #1]  INFO -- : Replacing (?-mix:#?listen_addresses *=.*) with listen_addresses = '*' in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.667901 #1]  INFO -- : Replacing (?-mix:#?synchronous_commit *=.*) with synchronous_commit = $db_synchronous_commit in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.668472 #1]  INFO -- : Replacing (?-mix:#?shared_buffers *=.*) with shared_buffers = $db_shared_buffers in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.668961 #1]  INFO -- : Replacing (?-mix:#?work_mem *=.*) with work_mem = $db_work_mem in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.669431 #1]  INFO -- : Replacing (?-mix:#?default_text_search_config *=.*) with default_text_search_config = '$db_default_text_search_config' in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.669849 #1]  INFO -- : > install -d -m 0755 -o postgres -g postgres /shared/postgres_backup
I, [2020-07-03T17:51:08.674201 #1]  INFO -- :
I, [2020-07-03T17:51:08.674855 #1]  INFO -- : Replacing (?-mix:#?max_wal_senders *=.*) with max_wal_senders = $db_max_wal_senders in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.675531 #1]  INFO -- : Replacing (?-mix:#?wal_level *=.*) with wal_level = $db_wal_level in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.676111 #1]  INFO -- : Replacing (?-mix:#?checkpoint_segments *=.*) with checkpoint_segments = $db_checkpoint_segments in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.676715 #1]  INFO -- : Replacing (?-mix:#?logging_collector *=.*) with logging_collector = $db_logging_collector in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.677378 #1]  INFO -- : Replacing (?-mix:#?log_min_duration_statement *=.*) with log_min_duration_statement = $db_log_min_duration_statement in /etc/postgresql/10/main/postgresql.conf
I, [2020-07-03T17:51:08.678065 #1]  INFO -- : Replacing (?-mix:^#local +replication +postgres +peer$) with local replication postgres  peer in /etc/postgresql/10/main/pg_hba.conf
I, [2020-07-03T17:51:08.678642 #1]  INFO -- : Replacing (?-mix:^host.*all.*all.*127.*$) with host all all 0.0.0.0/0 md5 in /etc/postgresql/10/main/pg_hba.conf
I, [2020-07-03T17:51:08.679176 #1]  INFO -- : > HOME=/var/lib/postgresql USER=postgres exec chpst -u postgres:postgres:ssl-cert -U postgres:postgres:ssl-cert /usr/lib/postgresql/10/bin/postmaster -D /etc/postgresql/10/main
I, [2020-07-03T17:51:08.681526 #1]  INFO -- : > sleep 5
2020-07-03 17:51:08.696 UTC [1576] FATAL:  database files are incompatible with server
2020-07-03 17:51:08.696 UTC [1576] DETAIL:  The data directory was initialized by PostgreSQL version 9.5, which is not compatible with this version 10.13 (Debian 10.13-1.pgdg100+1).
I, [2020-07-03T17:51:13.684752 #1]  INFO -- :
I, [2020-07-03T17:51:13.685864 #1]  INFO -- : > su postgres -c 'createdb discourse' || true
createdb: could not connect to database template1: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.767307 #1]  INFO -- :
I, [2020-07-03T17:51:13.767716 #1]  INFO -- : > su postgres -c 'psql discourse -c "create user discourse;"' || true
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.851217 #1]  INFO -- :
I, [2020-07-03T17:51:13.851495 #1]  INFO -- : > su postgres -c 'psql discourse -c "grant all privileges on database discourse to discourse;"' || true
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:13.928923 #1]  INFO -- :
I, [2020-07-03T17:51:13.929167 #1]  INFO -- : > su postgres -c 'psql discourse -c "alter schema public owner to discourse;"'
psql: could not connect to server: No such file or directory
	Is the server running locally and accepting
	connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?
I, [2020-07-03T17:51:14.007486 #1]  INFO -- :
I, [2020-07-03T17:51:14.007988 #1]  INFO -- : Terminating async processes


FAILED
--------------------
Pups::ExecError: su postgres -c 'psql discourse -c "alter schema public owner to discourse;"' failed with return #<Process::Status: pid 1602 exit 2>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params "su postgres -c 'psql $db_name -c \"alter schema public owner to $db_user;\"'"
2941a508509ae0342bb77af4711f0e0a38436095cd1468d01cbe16aba7c3fc41
** FAILED TO BOOTSTRAP ** 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.
root@foro:/var/discourse#

¿Podrías probar con templates/postgres.template.yml en su lugar?

Claro, aquí están los registros de ese:

root@foro:/var/discourse# ./launcher rebuild app
Asegurando que el lanzador esté actualizado
Obteniendo origen
El lanzador está actualizado
cd /pups && git pull && /pups/bin/pups --stdin
Ya está actualizado.
I, [2020-07-03T17:53:22.625663 #1]  INFO -- : Cargando --stdin
I, [2020-07-03T17:53:22.635149 #1]  INFO -- : > locale-gen $LANG && update-locale
I, [2020-07-03T17:53:22.671728 #1]  INFO -- : Generando configuraciones regionales (esto puede tardar un poco)...
Generación completada.

I, [2020-07-03T17:53:22.672429 #1]  INFO -- : > mkdir -p /shared/postgres_run
I, [2020-07-03T17:53:22.677925 #1]  INFO -- :
I, [2020-07-03T17:53:22.678274 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run
I, [2020-07-03T17:53:22.681699 #1]  INFO -- :
I, [2020-07-03T17:53:22.681920 #1]  INFO -- : > chmod 775 /shared/postgres_run
I, [2020-07-03T17:53:22.684258 #1]  INFO -- :
I, [2020-07-03T17:53:22.684487 #1]  INFO -- : > rm -fr /var/run/postgresql
I, [2020-07-03T17:53:22.687048 #1]  INFO -- :
I, [2020-07-03T17:53:22.687247 #1]  INFO -- : > ln -s /shared/postgres_run /var/run/postgresql
I, [2020-07-03T17:53:22.689561 #1]  INFO -- :
I, [2020-07-03T17:53:22.689885 #1]  INFO -- : > socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres ya se está ejecutando, detén el contenedor ; exit 1
2020/07/03 17:53:22 socat[26] E connect(6, AF=1 "/shared/postgres_run/.s.PGSQL.5432", 36): No existe tal archivo o directorio
I, [2020-07-03T17:53:22.694785 #1]  INFO -- :
I, [2020-07-03T17:53:22.695006 #1]  INFO -- : > rm -fr /shared/postgres_run/.s*
I, [2020-07-03T17:53:22.698248 #1]  INFO -- :
I, [2020-07-03T17:53:22.698408 #1]  INFO -- : > rm -fr /shared/postgres_run/*.pid
I, [2020-07-03T17:53:22.701558 #1]  INFO -- :
I, [2020-07-03T17:53:22.701719 #1]  INFO -- : > mkdir -p /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-03T17:53:22.704625 #1]  INFO -- :
I, [2020-07-03T17:53:22.704807 #1]  INFO -- : > chown postgres:postgres /shared/postgres_run/12-main.pg_stat_tmp
I, [2020-07-03T17:53:22.707685 #1]  INFO -- :
I, [2020-07-03T17:53:22.713135 #1]  INFO -- : Archivo > /etc/service/postgres/run  chmod: +x  chown:
I, [2020-07-03T17:53:22.718045 #1]  INFO -- : Archivo > /etc/service/postgres/log/run  chmod: +x  chown:
I, [2020-07-03T17:53:22.723816 #1]  INFO -- : Archivo > /etc/runit/3.d/99-postgres  chmod: +x  chown:
I, [2020-07-03T17:53:22.730016 #1]  INFO -- : Archivo > /root/upgrade_postgres  chmod: +x  chown:
I, [2020-07-03T17:53:22.730328 #1]  INFO -- : > chown -R root /var/lib/postgresql/12/main
I, [2020-07-03T17:53:22.862955 #1]  INFO -- :
I, [2020-07-03T17:53:22.863371 #1]  INFO -- : > [ ! -e /shared/postgres_data ] && install -d -m 0755 -o postgres -g postgres /shared/postgres_data && sudo -E -u postgres /usr/lib/postgresql/12/bin/initdb -D /shared/postgres_data || exit 0
I, [2020-07-03T17:53:22.866954 #1]  INFO -- :
I, [2020-07-03T17:53:22.867304 #1]  INFO -- : > chown -R postgres:postgres /shared/postgres_data
I, [2020-07-03T17:53:22.887517 #1]  INFO -- :
I, [2020-07-03T17:53:22.887828 #1]  INFO -- : > chown -R postgres:postgres /var/run/postgresql
I, [2020-07-03T17:53:22.891051 #1]  INFO -- :
I, [2020-07-03T17:53:22.891375 #1]  INFO -- : > /root/upgrade_postgres
I, [2020-07-03T17:53:22.919256 #1]  INFO -- : Actualizando PostgreSQL de la versión 9.5 a la 12
ADVERTENCIA: La actualización de PostgresSQL requeriría 53G adicionales de espacio en disco
Libera algo de espacio o expande tu disco antes de continuar.

Para evitar la actualización, cambia "templates/postgres.template.yml" POR "templates/postgres.10.template.yml" en containers/app.yml



FALLÓ
--------------------
Pups::ExecError: /root/upgrade_postgres falló con el código de retorno #<Process::Status: pid 45 salida 1>
Ubicación del fallo: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec falló con los parámetros "/root/upgrade_postgres"
584f999e4af2664cac606c4f56491e458a4f40913dc2f0f4c595792854c33fae
** FALLO AL INICIAR ** 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.
root@foro:/var/discourse#

@Falco, espera :thinking:

ADVERTENCIA: Actualizar PostgresSQL requeriría 53G adicionales de espacio en disco

¿quizás todos los problemas están relacionados con el espacio en disco!? :thinking:

Ahora que estás utilizando nuestra plantilla de PostgreSQL más reciente y compatible, efectivamente lo están.

Nuestro script solicita el doble del tamaño actual de la base de datos en espacio libre. ¡Parece que tienes una instancia bastante grande!

Un foro de 3 años con mucha actividad :sweat_smile: Estoy ampliando el espacio de DigitalOcean (tarda un poco), volveré más tarde para actualizar mi primer mensaje si finalmente esa es la solución.

Muchas gracias @Falco, estaba volviéndome loco con el problema y hablar con alguien más ayuda mucho :joy:

Quizás te convenga más crear un nuevo droplet con un sistema operativo actualizado y restaurar los datos en la nueva instancia.

Esto te dará un nuevo sistema operativo, no requerirá tanto espacio en disco y tendrá menos tiempo de inactividad: solo pondrías el sitio antiguo en modo solo lectura mientras haces la copia de seguridad y la restauras en el nuevo droplet, y luego cambias los registros DNS. Podrías usar una IP estática (no recuerdo cómo la llaman) para realizar el cambio a nivel de red en lugar de DNS (después de cambiar los registros DNS a la IP estática).

@Falco confirmado: cambiar la plantilla y ampliar el espacio en disco funciona de maravilla. ¡Gracias!

@pfaffman esa es una gran idea, intentaré hacerlo durante el fin de semana. Gracias por las sugerencias