Actualizar PostgreSQL 13 a PostgreSQL 14

En este tutorial vamos actualizar PostgreSQL 13 a PostgresSQL 14 en un entorno Windows. Por desgracia no existe un actualizado como tal si no que deberemos instalar la nueva versión y migrar lo antiguo a la nueva versión. Aunque este ejemplo se actualiza de la versión 13 a la 14 sirve para cualquier versión.

Instalar PostgreSQL 14

  1. Accede a la web oficial y descarga PostgreSQL versión 14 para Windows.
  2. Ejecuta el fichero descargado y realiza la instalación. Es muy sencilla, solo debes elegir la ubicación, la contraseña del usuario postgres (asigna la misma contraseña que al usuario postgres de la versión 13) y el puerto (en mi caso lo he instalado en un puerto distinto, pero no es necesario)

Parada de servicios

  1. Abre los servicios de Windows, puedes hacerlo buscando la palabra servicios en el buscador o desde el panel de control > herramientas administrativas
  2. Localiza los dos servicios de PostgreSQL y seleccionando de uno en uno haz clic en el botón parar.

Otorgar permisos

Para asegurarte de que todo va funcionar sin problemas debes comprobar que la carpeta raid de tus instalaciones de PostgreSQL tienen los suficientes permisos. Si lo has instalado por defecto la ruta será c:\Program Files\PostgreSQL.

  1. Ubicate en carpeta anterior de tu instalación de PostgreSQL. En mi caso C:\Program Files
  2. Haz clic derecho sobre la carpeta PostgreSQL y después en propiedades.
  3. Haz clic en la pestaña Seguridad y asignale al grupo Usuarios control total sobre la carpeta pulsando en el botón editar.

Copia de los datos

En el siguiente paso vamos a copiar los datos de PostgreSQL 13 a PostgreSQL 14, antes de realizar este paso se puede crear un backup, aunque en este tutorial no lo vamos a realizar. Si en tu caso lo consideras necesario puedes utilizar los comandos pg_dump y pg_dumpall para realizarlo.

  1. Abre una linea de comandos con permisos de administrador.
  2. Accede a la carpeta bin de la nueva versión.
CD C:\Program Files\PostgreSQL\14\bin
  1. Indica la contraseña del usuario postgres de ambas versiones (debe ser la misma)
SET PGPASSWORD=tuContraseña
  1. Lanza la copia de los datos.
pg_upgrade -d "c:\Program Files\PostgreSQL\13\data" -D "c:\Program Files\PostgreSQL\14\data" -b "c:\Program Files\PostgreSQL\13\bin" -p 5433 -B "c:\Program Files\PostgreSQL\14\bin" -U postgres -P 5434

Ejemplo:

Parámetros de pg_upgrade

Como puedes observar en el paso anterior utilizamos una serie de parámetros del comando pg_upgrade que debes sustituir según tú instalación. Los parámetros utilizados y los disponibles aunque no los utilicemos son:

Parámetro Descripción
-ddirectorio de la carpeta data de la versión antigua
-Ddirectorio de la carpeta data de la nueva versión
-bdirectorio de la carpeta bin de la versión antigua
-Bdirectorio de la carpeta bin de la nueva versión
-ppuerto donde esta instalado la versión anterior
-Ppuerto donde esta instalado la nueva versión
-Unombre de usuario de la instalación
-csolo chequea el cluster, no cambia ningún dato
-jnúmero de procesos o subprocesos simultáneos a utilizar
-kusar enlaces en lugar de copiar archivos al nuevo clúster
-oopciones que se pasarán directamente al antiguo postgres; se añaden múltiples invocaciones de opciones
-Oopciones que se pasarán directamente al nueva postgres; se añaden múltiples invocaciones de opciones
-rconservar SQL y registrar archivos incluso después de completarlos correctamente
-vhabilitar el registro interno detallado
-Vmostrar información de la versión y luego salir
-?mostrar la ayuda y luego salir

Comprobación de la copia

Ahora si inicias los servicios de PostgreSQL 13 y 14 y abres pgAdmin podrás ver las bases de datos que teníamos en la version 13 en la nueva versión y todavía las podrás ver en la version anterior.

Se recomienda no eliminar inmediatamente después la versión anterior de PostgreSQL por seguridad hasta que se compruebe que todo es correcto, pero eso ira en función de tus necesidades. Recuerda que si has instalado la nueva versión de PostgreSQL en un puerto diferente deberas cambiar las conexiones de los programas que lo utilicen, como las conexiones ODBC. Si has instalado todo en el mismo puerto no es necesario realizar ningún cambio.

Borrar datos de PostgreSQL 13

Ahora que estas seguro de que ha funcionado la copia y ya no necesitas los datos de la version antigua los puedes borrar siguiendo estos pasos:

  1. Abre la linea de comandos con permisos de administrador.
  2. Accede a la carpeta de la nueva version de PostgreSQL
CD C:\Program Files\PostgreSQL\14\bin
  1. Escribe el siguiente comando para borrar los datos de la versión antigua (esto borrara la carpeta data de la versión antigua ubicada en c:\Program Files\PostgreSQL\13\data)
delete_old_cluster.bat

Desinstalar PostgreSQL 13

Desinstalar la versión antigua de PostgreSQL es muy fácil, sigue estos pasos:

  1. Abre agregar o quitar programas.
  2. Busca y pulsa en desinstalar/modificar/cambiar sobre PostgreSQL.
  3. En el asistente marca la casilla Aplicación completa.
  1. Reinicia la maquina (opcional, pero recomendable) y ya tendrás actualizada tu versión de PostgreSQL

Escribir comentario

Este sitio está protegido por reCAPTCHA y se aplican la política de privacidad y los términos de servicio de Google.