Saltar al contenido

Actualice PostgreSQL de 9.6 a 10.0 en Ubuntu 16.10

Solución:

Una guía paso a paso

  1. Hacer una copia de seguridad. Asegúrese de que su base de datos no se esté actualizando.

     pg_dumpall > outputfile
    
  2. Instalar Postgres 10. Siga las instrucciones en esta página: https://www.postgresql.org/download/linux/ubuntu/

    Entonces corre sudo apt-get install postgresql-10. Se instalará una versión más reciente junto con la versión anterior.

  3. Correr pg_lsclusters:

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5432 online postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5433 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    

    Ya hay un cluster main para 10 (ya que se crea de forma predeterminada en la instalación del paquete). Esto se hace para que una instalación nueva funcione desde el primer momento sin la necesidad de crear un clúster primero, pero, por supuesto, entra en conflicto cuando intenta actualizar 9.6/main cuando 10/main también existe. El procedimiento recomendado es eliminar el clúster 10 con pg_dropcluster y luego actualizar con pg_upgradecluster.

  4. Detenga el clúster 10 y suéltelo:

     sudo pg_dropcluster 10 main --stop
    
  5. Detenga todos los procesos y servicios que escriben en la base de datos. Detenga la base de datos:

     sudo systemctl stop postgresql 
    
  6. Actualice el clúster 9.6:

     sudo pg_upgradecluster -m upgrade 9.6 main
    
  7. Inicie PostgreSQL de nuevo

     sudo systemctl start postgresql
    
  8. Correr pg_lsclusters . Su clúster 9.6 ahora debería estar “inactivo” y el clúster 10 debería estar en línea en 5432:

     Ver Cluster Port Status Owner    Data directory               Log file
     9.6 main    5433 down   postgres /var/lib/postgresql/9.6/main /var/log/postgresql/postgresql-9.6-main.log
     10  main    5432 online postgres /var/lib/postgresql/10/main  /var/log/postgresql/postgresql-10-main.log
    
  9. Primero, verifique que todo funcione bien. Después de eso, elimine el clúster 9.6:

      sudo pg_dropcluster 9.6 main --stop
    

Algunas notas sobre pg_upgradecluster

Esta guía funciona bien para actualizar de 9.5 a 10.1. Cuando actualice desde una versión anterior, considere omitir -m upgrade en el paso # 6:

sudo pg_upgradecluster 9.6 main

Si tiene un clúster realmente grande, puede usar pg_upgradecluster con un --link opción, para que la actualización esté en su lugar. Sin embargo, esto es peligroso: puede perder el clúster en caso de falla. Simplemente no use esta opción si no es necesario, ya que -m upgrade ya es lo suficientemente rápido.

Residencia en:

  • Documentos: Actualización de un clúster de PostgreSQL
  • Gist # 1: delameko / upgrade-postgres-9.5-to-9.6.md
  • Gist # 2: johanndt / upgrade-postgres-9.3-to-9.5.md
  • ¿Qué pasa si interrumpo o cancelo? pg_upgradecluster?
  • Página de manual de Ubuntu para pg_upgradecluster

Actualizar

Esta guía funciona bien para actualizar de 9.6 a 11 y de 10 a 11, así como de 10 a 13.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *