Actualización de versión antigua de PostgreSQL en dispositivo NAS

Versión del producto: 10.6

Última modificación: 16 de marzo de 2022

Problema

La versión antigua de la base de datos PostgreSQL no funciona con NAKIVO Backup & Replication instalado en dispositivos NAS.

Fondo

Es necesario actualizar la versión anterior de la base de datos PostgreSQL para que funcione con NAKIVO Backup & Replication instalado en dispositivos NAS. Tenga en cuenta que esto sólo es aplicable a los dispositivos NAS basados en CPU ARM de 64 bits.

Solución

Para realizar la actualización, haga lo siguiente:

Nota

  • El proceso de actualización requiere la misma cantidad de espacio libre que el tamaño del repositorio SaaS, ubicado en el NAS.

  • Los ejemplos proporcionados son para Synology NAS.

  1. Copie la versión antigua de PostgreSQL(postgresql-arm-x64-10.15-1.gz) en la carpeta java del NAS. Póngase en contacto con compatibilidad con este paquete. Ejemplo: /volumen1/@appstore/NBR/transportador/java.

  2. Extraiga y cambie el nombre del directorio a psql.old.

  3. Cree un nuevo clúster de base de datos (utilizando la nueva versión de initdb). Ejemplo del comando:

    mkdir /volumen1/ruta_saas/NakivoBackup.new
    
    chown -R u_bhsvc:g_bhsvc /volume1/path_saas/NakivoBackup.new
    cd /tmp
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql/bin/initdb -D /volume1/path_saas/NakivoBackup.new -U bhsvc -E UTF8 -A trust --locale=C
  4. Apaga el postmaster que da servicio al cluster antiguo. Ejemplo del comando:

    cd /tmp
    
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql.old/bin/pg_ctl -D /volume1/path_saas/NakivoBackup stop
  5. Apaga el postmaster que da servicio al nuevo cluster. Ejemplo del comando:

    cd /tmp
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql/bin/pg_ctl -D /volume1/path_saas/NakivoBackup.new stop
  6. Ejecute pg_upgrade:

    pg_upgrade -d antiguoCluster/datos -D nuevoCluster/datos -b antiguoCluster/bin -B nuevoCluster/bin

    Ejemplo del comando:

    cd /tmp
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql/bin/pg_upgrade -d /volume1/path_saas/NakivoBackup -D /volume1/path_saas/NakivoBackup.new -b /volume1/@appstore/NBR/transporter/java/pgsql.old/bin -B /volume1/@appstore/NBR/transporter/java/pgsql/bin -U bhsvc
  7. Inicie el nuevo servidor y genere estadísticas del optimizador. Ejemplo del comando:

    cd /tmp
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql/bin/pg_ctl -D /volume1/path_saas/NakivoBackup.new -o "-p5432" start
    /volume1/@appstore/NBR/transporter/java/pgsql/bin/vacuumdb -U bhsvc --all --analyze-in-stages -p 5432
    
    sudo -su u_bhsvc /volume1/@appstore/NBR/transporter/java/pgsql/bin/pg_ctl -D /volume1/path_saas/NakivoBackup.new stop
  8. Ejecute el siguiente script para eliminar los archivos de datos del cluster antiguo::

    ./borrar_cluster_antiguo.sh
  9. Cambie el nombre del nuevo NakivoBackup por el antiguo:

    mv /volumen1/ruta_saas/NakivoBackup.new /volumen1/ruta_saas/NakivoBackup