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
Respalde su directorio de datos existente, preferiblemente haciendo un vaciado completo con el pg_dumpall.
Luego realice:
% pg_dumpall -s >db.out |
Detenga el antiguo postmaster y todos los "backends".
Renombre (usando mv) su antiguo directorio pgsql data/ a data.old/.
Ejecute
% make install |
Ejecute initdb para crear una nueva base de datos template1 que contenga las tablas del sistema para la nueva versión.
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.)
Cambie su directorio de trabajo hacia el directorio principal del pgsql, y ejecute:
% pg_upgrade -f db.out data.old |
Restablezca si es necesario su antiguo archivo pg_hba.conf para permitir conexiones a los usuarios.
Detenga y vuelva a iniciar el postmaster.
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.
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.