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
- Accede a la web oficial y descarga PostgreSQL versión 14 para Windows.
- 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
- Abre los servicios de Windows, puedes hacerlo buscando la palabra servicios en el buscador o desde el panel de control > herramientas administrativas
- 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.
- Ubicate en carpeta anterior de tu instalación de PostgreSQL. En mi caso C:\Program Files
- Haz clic derecho sobre la carpeta PostgreSQL y después en propiedades.
- 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.
- Abre una linea de comandos con permisos de administrador.
- Accede a la carpeta bin de la nueva versión.
CD C:\Program Files\PostgreSQL\14\bin
- Indica la contraseña del usuario postgres de ambas versiones (debe ser la misma)
SET PGPASSWORD=tuContraseña
- 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 |
---|---|
-d | directorio de la carpeta data de la versión antigua |
-D | directorio de la carpeta data de la nueva versión |
-b | directorio de la carpeta bin de la versión antigua |
-B | directorio de la carpeta bin de la nueva versión |
-p | puerto donde esta instalado la versión anterior |
-P | puerto donde esta instalado la nueva versión |
-U | nombre de usuario de la instalación |
— | |
-c | solo chequea el cluster, no cambia ningún dato |
-j | número de procesos o subprocesos simultáneos a utilizar |
-k | usar enlaces en lugar de copiar archivos al nuevo clúster |
-o | opciones que se pasarán directamente al antiguo postgres; se añaden múltiples invocaciones de opciones |
-O | opciones que se pasarán directamente al nueva postgres; se añaden múltiples invocaciones de opciones |
-r | conservar SQL y registrar archivos incluso después de completarlos correctamente |
-v | habilitar el registro interno detallado |
-V | mostrar 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:
- Abre la linea de comandos con permisos de administrador.
- Accede a la carpeta de la nueva version de PostgreSQL
CD C:\Program Files\PostgreSQL\14\bin
- 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:
- Abre agregar o quitar programas.
- Busca y pulsa en desinstalar/modificar/cambiar sobre PostgreSQL.
- En el asistente marca la casilla Aplicación completa.


- Reinicia la maquina (opcional, pero recomendable) y ya tendrás actualizada tu versión de PostgreSQL