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.
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.
Add a New Comment