start remove instalar create postgresql ubuntu

remove - Actualice PostgreSQL de 9.6 a 10.0 en Ubuntu 16.10



remove postgresql ubuntu (2)

Mi base de datos tiene más de 600 GB y mi volumen actual es de solo 1 TB, por lo que probablemente limita mis opciones.

Mis archivos de configuración están aquí:

/etc/postgresql/9.6/main

Mi base de datos está aquí:

/mnt/1TB/postgresql/9.6/main

Editar - Esta guía funcionó para mí. La única adición que necesitaba hacer era descargar libicu55 manualmente e instalarlo, y tuve que otorgar el permiso postgres 1777 para mi carpeta / tmp /. También estaba guardando la carpeta de datos en un disco diferente, así que tuve que usar el comando:

pg_upgradecluster -m upgrade 10 main /mnt/1TB/postgresql/10

https://gist.github.com/delameko/bd3aa2a54a15c50c723f0eef8f583a44


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/

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

  3. Ejecuta 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 existe una agrupación main para 10 (ya que esto se crea de forma predeterminada en la instalación del paquete). Esto se hace para que una instalación nueva salga de la caja sin la necesidad de crear un clúster primero, pero, por supuesto, se produce un error cuando intenta actualizar 9.6/main cuando también existe 10/main . El procedimiento recomendado es eliminar el clúster 10 con pg_dropcluster y luego actualizar con pg_upgradecluster .

  4. Detener el clúster 10 y soltarlo:

    sudo pg_dropcluster 10 main --stop

  5. Detenga todos los procesos y servicios que escriben en la base de datos. Detener la base de datos:

    sudo systemctl stop postgresql

  6. Actualizar el clúster 9.6:

    sudo pg_upgradecluster -m upgrade 9.6 main

  7. Ejecuta pg_lsclusters . Su grupo 9.6 ahora debería estar "abajo", y el grupo 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

  8. Primero, verifica que todo funcione bien. Después de eso, elimine el clúster 9.6:

    sudo pg_dropcluster 9.6 main --stop

Algunas notas en pg_upgradecluster

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

sudo pg_upgradecluster 9.6 main

Si tiene un clúster realmente grande, puede usar pg_upgradecluster con una opción --link , para que la actualización sea in situ. Sin embargo, esto es peligroso: puede perder el clúster en caso de fallo. Simplemente no use esta opción si no es necesario, ya que la -m upgrade ya es lo suficientemente rápida.

Residencia en:


Casi trabajado fuera de la caja. Estoy en 17.10 ingenioso. Si bien puede poner eso en el archivo .deb, no funcionará. Postgres solo actualiza las versiones no LTS si rompen la versión LTS. Así que pon a Zesty en ese deb y listo.