A) Primero cree una copia de seguridad de todas las bases de datos para eso (puede continuar desde B si no necesita una copia de seguridad)
- Inicie sesión como usuario de postgres
sudo su postgres
- Cree un archivo .sql de respaldo para todos los datos que tiene en todas las bases de datos
pg_dumpall > backup.sql
B) Actualizar a PostgreSQL12
- actualizar paquetes e instalar postgres 12
sudo apt-get update
sudo apt-get install postgresql-12 postgresql-server-dev-12
- Detener el servicio postgresql
sudo systemctl stop postgresql.service
- migrar los datos
/usr/lib/postgresql/12/bin/pg_upgrade \
--old-datadir=/var/lib/postgresql/10/main \
--new-datadir=/var/lib/postgresql/12/main \
--old-bindir=/usr/lib/postgresql/10/bin \
--new-bindir=/usr/lib/postgresql/12/bin \
--old-options '-c config_file=/etc/postgresql/10/main/postgresql.conf' \
--new-options '-c config_file=/etc/postgresql/12/main/postgresql.conf'
- Cambiar a usuario normal
exit
- Intercambie los puertos de las versiones de postgres antigua y nueva.
sudo vim /etc/postgresql/12/main/postgresql.conf
#change port to 5432
sudo vim /etc/postgresql/10/main/postgresql.conf
#change port to 5433
- Iniciar el servicio postgresql
sudo systemctl start postgresql.service
- Inicie sesión como usuario de postgres
sudo su postgres
- Verifique su nueva versión de postgres
psql -c "SELECT version();"
- Ejecute el nuevo script de clúster generado
./analyze_new_cluster.sh
- Vuelva como usuario normal (usuario predeterminado) y limpie el desorden de la versión anterior
sudo apt-get remove postgresql-10 postgresql-server-dev-10
#uninstalls postgres packages
sudo rm -rf /etc/postgresql/10/
#removes the old postgresql directory
sudo su postgres
#login as postgres user
./delete_old_cluster.sh
#delete the old cluster data
- ¡Felicidades! Su versión de postgresql ahora está actualizada. Si todo funciona bien en B, no tenemos que aplicar la copia de seguridad ya que hemos migrado los datos de la versión anterior a la versión más nueva, la copia de seguridad es solo en caso de que algo salga mal.
PD :Siéntase libre de comentar sus problemas, sugerencias o cualquier otra modificación que le gustaría sugerir