pg_upgrade

Nombre

pg_upgrade  --  permite la actualización de una versión anterior sin tener que volver a recargar los datos.

Synopsis

pg_upgrade [ -f filename ] old_data_dir
  

Descripción

pg_upgrade es una utilidad para actualizar una versión anterior de PostgreSQL sin la necesidad de recargar todos los datos. No todas las transiciones de versiones de Postgres se pueden manejar de esta manera. Verifique las notas de la versión para saber si hay detalles en su instalación.

Actualización de Postgres with pg_upgrade

  1. Respalde su directorio de datos existente, preferiblemente haciendo un vaciado completo con el pg_dumpall.

  2. Luego realice:

    % pg_dumpall -s >db.out
         
    para vaciar la antigua tabla de definiciones de la base de datos sin ningún dato.

  3. Detenga el antiguo postmaster y todos los "backends".

  4. Renombre (usando mv) su antiguo directorio pgsql data/ a data.old/.

  5. Ejecute

    % make install
         
    para instalar los nuevos binarios.

  6. Ejecute initdb para crear una nueva base de datos template1 que contenga las tablas del sistema para la nueva versión.

  7. Inicie el nuevo postmaster. (Nota: es de suma importancia que ningún usuario se conecte a la base de datos hasta que la actualización esté completada. Quizás desee iniciar el postmaster sin la opción - i y/o alterar pg_hba.conf temporalmente.)

  8. Cambie su directorio de trabajo hacia el directorio principal del pgsql, y ejecute:

    % pg_upgrade -f db.out data.old
         
    El programa hará algunas verificaciones para cerciorarse de que todo esta configurado correctamente, y ejecutará el script db.out para volver a reconstruir todas las bases de datos y tablas que uno tenía, pero sin datos. Entonces moverá físicamente los archivos de datos que no contienen tablas del sistema y los índices desde data.old/ hacia los subdirectorios indicados debajo de data.old/ sustituyendo los archivos de datos vacíos creados durante la ejecución del script db.out.

  9. Restablezca si es necesario su antiguo archivo pg_hba.conf para permitir conexiones a los usuarios.

  10. Detenga y vuelva a iniciar el postmaster.

  11. Examine cuidadosamente el contenido de la base de datos actualizada. Si encuentra algún problema, entonces necesitará recuperar sus datos restableciendo su respaldo completo pg_dump. Puede eliminar el directorio data.old/ cuando se encuentre satisfecho con los resultados obtenidos.

  12. La base de datos actualizada se encontrará en un estado no limpio. Probablemente deseará ejecutar un VACUUM ANALYZE antes de que comience el trabajo de producción.