¡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 ![]()