En trin-for-trin guide
-
Lav en sikkerhedskopi . Sørg for, at din database ikke bliver opdateret.
pg_dumpall > outputfile
-
Installer Postgres 10 . Følg instruktionerne på denne side:https://www.postgresql.org/download/linux/ubuntu/
Kør derefter
sudo apt-get install postgresql-10
. En nyere version vil blive installeret side om side med den tidligere version. -
Kør
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
Der er allerede en klynge
main
for 10 (da dette oprettes som standard ved pakkeinstallation). Dette gøres, så en ny installation fungerer ud af boksen uden at skulle oprette en klynge først, men den kolliderer selvfølgelig, når du forsøger at opgradere9.6/main
når10/main
findes også. Den anbefalede procedure er at fjerne 10-klyngen medpg_dropcluster
og opgrader derefter medpg_upgradecluster
. -
Stop 10-klyngen og slip den:
sudo pg_dropcluster 10 main --stop
-
Stop alle processer og tjenester, der skriver til databasen. Stop databasen:
sudo systemctl stop postgresql
-
Opgrader 9.6-klyngen:
sudo pg_upgradecluster -m upgrade 9.6 main
-
Start PostgreSQL igen
sudo systemctl start postgresql
-
Kør
pg_lsclusters
. Din 9.6 klynge skulle nu være "ned", og 10 klyngen skulle være online på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
-
Tjek først, at alt fungerer som det skal. Fjern derefter 9.6-klyngen:
sudo pg_dropcluster 9.6 main --stop
Nogle bemærkninger om pg_upgradecluster
Denne vejledning fungerer fint til at opgradere fra 9.5 til 10.1. Når du opgraderer fra en ældre version, bør du overveje at udelade -m upgrade
på trin #6:
sudo pg_upgradecluster 9.6 main
Hvis du har en rigtig stor klynge, kan du bruge pg_upgradecluster
med et --link
mulighed, så opgraderingen er på plads. Dette er dog farligt – du kan miste klyngen i tilfælde af fejl. Bare brug ikke denne mulighed, hvis det ikke er nødvendigt, som -m upgrade
er allerede hurtig nok.
Baseret på:
- Docs:Opgradering af en PostgreSQL-klynge
- Gist 1:delameko/upgrade-postgres-9.5-to-9.6.md
- Gist 2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Hvad sker der, hvis jeg afbryder eller annullerer
pg_upgradecluster
? - Ubuntu-manpage for pg_upgradecluster
Opdater
Denne vejledning fungerer fint til at opgradere fra 9.6 til 11 og fra 10 til 11 samt fra 10 til 13.