Podrobný průvodce
-
Proveďte zálohu . Ujistěte se, že vaše databáze není aktualizována.
pg_dumpall > outputfile
-
Nainstalujte Postgres 10 . Postupujte podle pokynů na této stránce:https://www.postgresql.org/download/linux/ubuntu/
Poté spusťte
sudo apt-get install postgresql-10
. Novější verze bude nainstalována vedle starší verze. -
Spusťte
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
Cluster
main
již existuje pro 10 (protože je standardně vytvořen při instalaci balíčku). To se děje tak, že nová instalace funguje hned po vybalení bez nutnosti nejprve vytvořit cluster, ale samozřejmě dojde ke konfliktu, když se pokusíte upgradovat9.6/main
když10/main
také existuje. Doporučený postup je odstranit cluster 10 pomocípg_dropcluster
a poté upgradujte pomocípg_upgradecluster
. -
Zastavte cluster 10 a upusťte jej:
sudo pg_dropcluster 10 main --stop
-
Zastavte zápis všech procesů a služeb do databáze. Zastavte databázi:
sudo systemctl stop postgresql
-
Upgradujte cluster 9.6:
sudo pg_upgradecluster -m upgrade 9.6 main
-
Spusťte znovu PostgreSQL
sudo systemctl start postgresql
-
Spusťte
pg_lsclusters
. Váš cluster 9.6 by nyní měl být "nefunkční" a cluster 10 by měl být online na5432
: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
-
Nejprve zkontrolujte, zda vše funguje správně. Poté odeberte cluster 9.6:
sudo pg_dropcluster 9.6 main --stop
Několik poznámek k pg_upgradecluster
Tato příručka funguje dobře pro upgrade z 9.5 na 10.1. Při upgradu ze starší verze zvažte vynechání -m upgrade
v kroku #6:
sudo pg_upgradecluster 9.6 main
Pokud máte opravdu velký cluster, můžete použít pg_upgradecluster
s --link
možnost, takže upgrade bude na místě. To je však nebezpečné – v případě selhání můžete cluster ztratit. Pokud to není nutné, nepoužívejte tuto možnost jako -m upgrade
je již dostatečně rychlý.
Na základě:
- Dokumenty:Upgrade klastru PostgreSQL
- Hlava č. 1:delameko/upgrade-postgres-9.5-to-9.6.md
- Hlava č. 2:johanndt/upgrade-postgres-9.3-to-9.5.md
- Co se stane, když přeruším nebo zruším
pg_upgradecluster
? - Manuálová stránka Ubuntu pro pg_upgradecluster
Aktualizovat
Tato příručka funguje dobře pro upgrade z 9.6 na 11 a z 10 na 11 a také z 10 na 13.