La actualización de PostgreSQL 13 a 15 falla, lo que actualmente significa que el foro está indisponible

Hola a todos,

Estoy recibiendo el siguiente error al intentar ejecutar una reconstrucción para actualizar a la versión más reciente probada. Esto incluiría aumentar la versión de postgres de 13 a 15.

[2025-03-12T20:49:22.045226 #1]  INFO -- : Reemplazando (?-mix:^#local +replication +postgres +peer$) con local replication postgres  peer en /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045431 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*127.*$) con host all all 0.0.0.0/0 md5 en /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045624 #1]  INFO -- : Reemplazando (?-mix:^host.*all.*all.*::1\\/128.*$) con host all all ::/0 md5 en /etc/postgresql/15/main/pg_hba.conf
I, [2025-03-12T20:49:22.045816 #1]  INFO -- : > if [ -f /root/install_postgres ]; then
  /root/install_postgres && rm -f /root/install_postgres
elif [ -e /shared/postgres_run/.s.PGSQL.5432 ]; then
  socat /dev/null UNIX-CONNECT:/shared/postgres_run/.s.PGSQL.5432 || exit 0 && echo postgres already running stop container ; exit 1
fi

initdb: warning: enabling "trust" authentication for local connections
initdb: hint: You can change this by editing pg_hba.conf or using the option -A, or --auth-local and --auth-host, the next time you run initdb.
W: https://dl.yarnpkg.com/debian/dists/stable/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
debconf: delaying package configuration, since apt-utils is not installed
cp: cannot stat '/etc/postgresql/13/main/*': No such file or directory

El script simplemente se queda atascado en este comando de copia.
Cuando intento reiniciar el foro, el comando de reinicio se completa con éxito, pero el foro muestra “connection refused”.

¿Cómo puedo revertir a usar mi copia de seguridad en postgres 13 o avanzar? Gracias.

Hasta que lleguen personas más inteligentes a ayudar, ve a este tema sobre la actualización de postgres

4 Me gusta

Podrías crear un servidor completamente nuevo e importar la copia de seguridad.

1 me gusta

Quiero evitar esto si es posible

2 Me gusta

Es la solución más sencilla.

Reinicia el contenedor antiguo. Tendrás tu foro. Puedes poner a funcionar el nuevo servidor cuando tengas tiempo.

El contenedor de reinicio no pudo ejecutarse porque se encontraba en un estado intermitente entre versiones de la base de datos. He eliminado la carpeta postgres_data y ahora estoy restaurando desde una copia de seguridad.

¿Cuáles son las especificaciones de su servidor? Si usa Ubuntu LTS, ¿qué versión es su servidor?

1 me gusta

¿Pudiste restaurar el sitio?

Si realmente estás ejecutando un sistema operativo y una versión de Docker antiguos, te recomiendo actualizar ambos antes de intentar reconstruir de nuevo.

¿Quizás estabas actualizando una base de datos grande? Si es así, es posible que la actualización todavía estuviera en curso. Durante la reconstrucción, puedes comparar periódicamente el tamaño de los directorios postgres_data y postgres_data_new. Si el tamaño de postgres_data_new sigue creciendo, la actualización aún está en curso. (También puedes confirmar si el comando pg_upgrade se está ejecutando desde la lista de procesos).


Puedes ignorar ese error de cp por ahora. Pude actualizar un sitio de prueba en una instalación estándar incluso con el mismo error. (Fue causado por un cambio upstream, así que arreglaremos la imagen para eliminar el error, pero no debería romper las actualizaciones de la base de datos a menos que las configuraciones de postgres se hayan modificado significativamente de antemano).

5 Me gusta

Hola,

sí, pude restaurar el sitio. De hecho, estábamos actualizando una base de datos grande, pero estuve vigilando los directorios mencionados para asegurarme de que postgres_data_new estuviera creciendo. Tras un tiempo, dejó de crecer, y el script simplemente se quedó atascado en este comando.

Nuestra configuración era bastante estándar, aparte del gran tamaño de la base de datos. Reuniré los detalles y los publicaré más tarde hoy.

1 me gusta