En steg-för-steg-guide
-
Gör en säkerhetskopia . Se till att din databas inte uppdateras.
pg_dumpall > outputfile -
Installera Postgres 10 . Följ instruktionerna på den här sidan:https://www.postgresql.org/download/linux/ubuntu/
Kör sedan
sudo apt-get install postgresql-10. En nyare version kommer att installeras sida vid sida med den tidigare versionen. -
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.logDet finns redan ett kluster
mainför 10 (eftersom detta skapas som standard vid paketinstallation). Detta görs så att en ny installation fungerar direkt utan att behöva skapa ett kluster först, men det krockar så klart när du försöker uppgradera9.6/mainnär10/mainfinns också. Den rekommenderade proceduren är att ta bort klustret 10 medpg_dropclusteroch uppgradera sedan medpg_upgradecluster. -
Stoppa 10-klustret och släpp det:
sudo pg_dropcluster 10 main --stop -
Stoppa alla processer och tjänster som skriver till databasen. Stoppa databasen:
sudo systemctl stop postgresql -
Uppgradera 9.6-klustret:
sudo pg_upgradecluster -m upgrade 9.6 main -
Starta PostgreSQL igen
sudo systemctl start postgresql -
Kör
pg_lsclusters. Ditt 9.6-kluster ska nu vara "ner" och 10-klustret ska vara 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 -
Kontrollera först att allt fungerar som det ska. Ta sedan bort 9.6-klustret:
sudo pg_dropcluster 9.6 main --stop
Några anteckningar om pg_upgradecluster
Den här guiden fungerar bra för att uppgradera från 9.5 till 10.1. När du uppgraderar från en äldre version, överväg att utelämna -m upgrade på steg #6:
sudo pg_upgradecluster 9.6 main
Om du har ett riktigt stort kluster kan du använda pg_upgradecluster med en --link alternativet, så att uppgraderingen kommer att vara på plats. Det här är dock farligt – du kan tappa klustret om det uppstår ett misslyckande. Använd bara inte det här alternativet om det inte är nödvändigt, som -m upgrade är redan tillräckligt snabb.
Baserat på:
- Dokument:Uppgradering av ett PostgreSQL-kluster
- Grund 1:delameko/upgrade-postgres-9.5-to-9.6.md
- Grund 2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Vad händer om jag avbryter eller avbryter
pg_upgradecluster? - Ubuntu-manpage för pg_upgradecluster
Uppdatera
Den här guiden fungerar bra för att uppgradera från 9.6 till 11 och från 10 till 11, samt från 10 till 13.