Esta es una guía que resume el proceso real de migrar sin pérdida de datos al actualizar PostgreSQL de la versión 14 a la 16 en un servidor Ubuntu.
Realizamos un respaldo completo de los datos, instalamos la nueva versión, restauramos los datos y eliminamos la versión anterior, todo estructurado en pasos que puedes seguir.

Símbolo de actualización de PostgreSQL de 14 a 16

1. Verificar versión actual de PostgreSQL y estado del clúster

psql --version
pg_lsclusters

Verifica que 14/main esté activado en el estado del clúster.


2. Respaldo completo de datos

PostgreSQL permite realizar un respaldo completo de la base de datos, usuarios y permisos utilizando el comando pg_dumpall.

sudo -u postgres pg_dumpall > ~/pg_backup_all.sql

Ejemplo de verificación de respaldo (opcional)

head ~/pg_backup_all.sql
tail ~/pg_backup_all.sql

Verificar existencia y tamaño del archivo

ls -lh ~/pg_backup_all.sql

3. Instalación de PostgreSQL 16

3-1. Registro en el repositorio oficial

sudo apt update
sudo apt install wget ca-certificates -y
wget -qO - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgdg.gpg
echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" |   sudo tee /etc/apt/sources.list.d/pgdg.list

3-2. Instalación de PostgreSQL 16

sudo apt update
sudo apt install postgresql-16 -y

Una vez completada la instalación, verifica nuevamente el estado del clúster.

pg_lsclusters

4. Transición del clúster

Detiene la versión 14 existente y inicia la versión 16.

sudo systemctl stop postgresql@14-main
sudo systemctl start postgresql@16-main

5. Restauración de datos (a PostgreSQL 16)

Antes de restaurar, verifica que puedes acceder a la nueva versión 16 correctamente.
(El número de puerto se puede verificar con pg_lsclusters)

sudo -u postgres psql -p 5433

Si el acceso es exitoso, restaura los datos respaldados con el siguiente comando:

sudo -u postgres psql < ~/pg_backup_all.sql

Puedes verificar si hubo errores utilizando less ~/pg_backup_all.sql | grep ERROR.


6. Eliminación de PostgreSQL 14 (opcional)

Una vez que la actualización y la restauración de datos se hayan completado sin problemas, puedes eliminar PostgreSQL 14:

sudo pg_dropcluster 14 main --stop
sudo apt remove postgresql-14 -y

Conclusión

Este proceso será útil para aquellos que necesiten actualizar y migrar de PostgreSQL 14 a 16 en un servidor Ubuntu.
Sigue el orden de respaldo de datos → instalación nueva → restauración → eliminación de la versión anterior para una transición segura.

Ajusta el nombre de usuario, número de puerto, etc. según tu entorno.