Een stapsgewijze handleiding
-
Maak een back-up . Zorg ervoor dat uw database niet wordt bijgewerkt.
pg_dumpall > outputfile
-
Postgres 10 installeren . Volg de instructies op deze pagina:https://www.postgresql.org/download/linux/ubuntu/
Voer vervolgens
sudo apt-get install postgresql-10
. uit . Een nieuwere versie wordt naast de eerdere versie geïnstalleerd. -
Voer
pg_lsclusters
uit :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
Er is al een cluster
main
voor 10 (aangezien dit standaard wordt gemaakt bij de installatie van het pakket). Dit wordt gedaan zodat een nieuwe installatie direct uit de doos werkt zonder dat u eerst een cluster hoeft te maken, maar het botst natuurlijk wanneer u probeert9.6/main
te upgraden wanneer10/main
bestaat ook. De aanbevolen procedure is om de 10 cluster te verwijderen metpg_dropcluster
en upgrade vervolgens metpg_upgradecluster
. -
Stop het 10 cluster en laat het vallen:
sudo pg_dropcluster 10 main --stop
-
Stop alle processen en services die naar de database schrijven. Stop de database:
sudo systemctl stop postgresql
-
Upgrade het 9.6-cluster:
sudo pg_upgradecluster -m upgrade 9.6 main
-
Start PostgreSQL opnieuw
sudo systemctl start postgresql
-
Voer
pg_lsclusters
uit . Uw 9.6-cluster zou nu "down" moeten zijn en het 10-cluster zou online moeten zijn op5432
: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
-
Controleer eerst of alles goed werkt. Verwijder daarna het 9.6-cluster:
sudo pg_dropcluster 9.6 main --stop
Enkele opmerkingen over pg_upgradecluster
Deze handleiding werkt prima voor het upgraden van 9.5 naar 10.1. Overweeg bij het upgraden van een oudere versie om -m upgrade
weg te laten op stap #6:
sudo pg_upgradecluster 9.6 main
Als je een heel groot cluster hebt, kun je pg_upgradecluster
. gebruiken met een --link
optie, zodat de upgrade op zijn plaats zal zijn. Dit is echter gevaarlijk:u kunt het cluster kwijtraken bij een storing. Gebruik deze optie gewoon niet als het niet nodig is, omdat -m upgrade
is al snel genoeg.
Gebaseerd op:
- Documenten:een PostgreSQL-cluster upgraden
- Samenvatting #1:delameko/upgrade-postgres-9.5-to-9.6.md
- Samenvatting #2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Wat gebeurt er als ik
pg_upgradecluster
onderbreek of annuleer ? - Ubuntu-manpagina voor pg_upgradecluster
Bijwerken
Deze handleiding werkt prima voor het upgraden van 9.6 naar 11 en van 10 naar 11, evenals van 10 naar 13.