es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Actualización de Postgres de 10 a 12: falla de pg_upgrade debido a la falta de la biblioteca requerida.

$ /usr/pgsql-12/bin/pg_upgrade \
> -b /usr/pgsql-10/bin/ \
> -B /usr/pgsql-12/bin/ \
> -d /var/lib/pgsql/10/data/ \
> -D /var/lib/pgsql/12/data/ \
> --check

<h2>Realizando verificaciones de coherencia</h2>

Verificación de las versiones del clúster ok
Verificación de que el usuario de la base de datos es el usuario de instalación ok
Verificación de la configuración de conexión de la base de datos ok
Verificación de transacciones preparadas ok
Verificación de tipos de datos compuestos definidos por el sistema en tablas de usuario ok
Verificación de tipos de datos "reg*" en tablas de usuario ok
Verificación de contrib/isn con contradicción de paso de bigint ok
Verificación de tablas CON OID ok
Verificación de columnas de usuario "sql_identifier" inválidas ok
Verificación de la presencia de bibliotecas necesarias fatal

Su instalación hace referencia a bibliotecas cargables que faltan en la
nueva instalación. Puede agregar estas bibliotecas a la nueva instalación
o eliminar las funciones que las utilizan en la antigua instalación. Una lista de
bibliotecas problemáticas se encuentra en el archivo:
loadable_libraries.txt

Error, saliendo

[postgres@localhost ~]$ cat loadable_libraries.txt
no se pudo cargar la biblioteca "$libdir/ltree": ERROR: no se pudo acceder al archivo "$libdir/ltree": No existe el archivo o el directorio
Base de datos: <strong>
Base de datos: <em></em></strong>
no se pudo cargar la biblioteca "$libdir/pgtrgm": ERROR: no se pudo acceder al archivo "$libdir/pg<em>trgm": No existe el archivo o el directorio
Base de datos: <strong></strong></em>
Base de datos: <em>
no se pudo cargar la biblioteca "$libdir/uuid-ossp": ERROR: no se pudo acceder al archivo "$libdir/uuid-ossp": No existe el archivo o el directorio
Base de datos: <strong></strong></em>
Base de datos: _

Agradeceré mucho los pasos válidos para actualizar de postgres 10 a 12. Ya que no encontré ningún enlace altamente revisado que esté completo.
Actualmente estoy siguiendo este enlace: https://www.postgresql.r2schools.com/how-to-upgrade-from-postgresql-11-to-12/. Reemplacé 10 por 11 en cada comando.

Gracias de antemano.

“`

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Para actualizar de PostgreSQL 10 a 12, se pueden seguir los siguientes pasos:

    1. Crear una copia de seguridad de la base de datos de PostgreSQL 10 utilizando el comando pg_dumpall. Este comando creará una copia de seguridad del esquema y los datos de la base de datos.
      pg_dumpall > backup.sql
      
    2. Instalar PostgreSQL 12 en el sistema.
    3. Detener el servidor de la base de datos de PostgreSQL 10.

      sudo systemctl stop postgresql-10
      

    4. Utilizar el comando pg_upgrade para actualizar a PostgreSQL 12.
      /usr/pgsql-12/bin/pg_upgrade \
      -b /usr/pgsql-10/bin/ \
      -B /usr/pgsql-12/bin/ \
      -d /var/lib/pgsql/10/data/ \
      -D /var/lib/pgsql/12/data/ \
      --check
      

      El comando pg_upgrade verificará cualquier problema de compatibilidad entre las dos versiones y reportará cualquier error o archivo faltante.

    5. Si hay archivos o bibliotecas faltantes, agregarlos a la nueva instalación o eliminar las funciones que los utilizan de la antigua instalación.

    6. Después de resolver cualquier problema reportado por pg_upgrade, realizar la actualización real.

      /usr/pgsql-12/bin/pg_upgrade \
      -b /usr/pgsql-10/bin/ \
      -B /usr/pgsql-12/bin/ \
      -d /var/lib/pgsql/10/data/ \
      -D /var/lib/pgsql/12/data/
      

    7. Una vez que la actualización esté completa, iniciar el servidor de PostgreSQL 12.
      sudo systemctl start postgresql-12
      
    8. Verificar que la base de datos actualizada funcione correctamente conectándose a ella y ejecutando algunas consultas.
      psql -U postgres
      SELECT version();
      

      Esto debería devolver el número de versión de PostgreSQL 12.x.

    9. Eliminar la instalación antigua de PostgreSQL 10, si se desea.

      sudo yum remove postgresql10-server
      

Comments are closed.