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
Hacer una copia de seguridad . Asegúrese de que su base de datos no se está actualizando.
pg_dumpall > outputfile
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.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 actualizar9.6/main
cuando también existe10/main
. El procedimiento recomendado es eliminar el clúster 10 conpg_dropcluster
y luego actualizar conpg_upgradecluster
.Detener el clúster 10 y soltarlo:
sudo pg_dropcluster 10 main --stop
Detenga todos los procesos y servicios que escriben en la base de datos. Detener la base de datos:
sudo systemctl stop postgresql
Actualizar el clúster 9.6:
sudo pg_upgradecluster -m upgrade 9.6 main
Ejecuta
pg_lsclusters
. Su grupo 9.6 ahora debería estar "abajo", y el grupo 10 debería estar en línea en5432
: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
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.